【问题标题】:PHP Function echo included filePHP函数回显包含文件
【发布时间】:2019-04-30 17:17:50
【问题描述】:

我目前正在开发一个 wordpress 插件。我创建了一个短代码,它显示另一个 html/php 文件的内容,如下所示:

function df_display_form()
{
    // Fetching some data with $wpdb

    // Display the data
    include_once plugin_dir_path(__FILE__) . 'markup/show-dynamic-form.php';
}

我的问题是短代码将显示在页面顶部。所以我搜索了这个问题并找到了solution。正如它所写的那样,问题是应该使用return 而不是echo

所以我的问题是如何从包含的文件中返回渲染的内容? (不是回声)。

【问题讨论】:

标签: php wordpress php-7.0


【解决方案1】:

尝试使用输出缓冲区。 https://www.php.net/manual/en/function.ob-get-clean.php

function df_display_form()
{
    ob_start(); 
    // Fetching some data with $wpdb

    // Display the data
    include_once plugin_dir_path(__FILE__) . 'markup/show-dynamic-form.php';
    $out = ob_get_clean();
    return $out;
}

【讨论】:

    【解决方案2】:

    您必须使用 php 函数来使用简码显示表单。

    我认为您目前在 show-dynamic-form.php 文件中有这种类型的代码。

    <?php
    
    // Some codes
    
    ?>
    
    <form>
    
    Form elements
    
    </form>
    

    它只会将您的代码回显到您的帖子或页面的顶部。正确的做法是:

    <?php
    
        // Some codes
    
        $variable = '<form>';
        $variable .= 'form elements';
        $variable .= '</form>';
    
        return $variable;
    
    ?>
    

    尝试在您的 dynamic-form.php 文件中使用这种方式,它应该可以工作。

    【讨论】:

      猜你喜欢
      • 2015-08-02
      • 2013-04-17
      • 2012-11-21
      • 1970-01-01
      • 1970-01-01
      • 2016-04-07
      • 1970-01-01
      • 2013-11-13
      • 1970-01-01
      相关资源
      最近更新 更多