PHP 函数回显包含文件
PHP Function echo included file
我目前正在开发一个 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
。
所以我的问题是如何 return 包含文件中的渲染内容? (不是回声)。
尝试使用输出缓冲区。
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;
}
您必须使用 php 功能才能使用短代码显示表单。
我认为您当前在 show-dynamic-form.php 文件中有此类代码。
<?php
// Some codes
?>
<form>
Form elements
</form>
它只会将您的代码回显到您的 post 或页面的顶部。正确的方法是:
<?php
// Some codes
$variable = '<form>';
$variable .= 'form elements';
$variable .= '</form>';
return $variable;
?>
尝试在您的动态 form.php 文件中使用这种方式,它应该可以工作。
我目前正在开发一个 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
。
所以我的问题是如何 return 包含文件中的渲染内容? (不是回声)。
尝试使用输出缓冲区。 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;
}
您必须使用 php 功能才能使用短代码显示表单。
我认为您当前在 show-dynamic-form.php 文件中有此类代码。
<?php
// Some codes
?>
<form>
Form elements
</form>
它只会将您的代码回显到您的 post 或页面的顶部。正确的方法是:
<?php
// Some codes
$variable = '<form>';
$variable .= 'form elements';
$variable .= '</form>';
return $variable;
?>
尝试在您的动态 form.php 文件中使用这种方式,它应该可以工作。