我无法将页面包含到WordPress函数Add_Filter,The_Content

时间:2019-07-23 作者:Abhijeet Shinde

Wordpress Function add_filter

我想在add\\u filter上添加额外页面,如何更正<提前谢谢!


function page_content($content) {
    global $post; 
     if ( is_object( $post ) && $post->ID == 134 ) {

    if(is_page()) {

        $extra_content = \' This is my extra content\';
        $content .= $extra_content; 
        $content .= include(\'horo-header.php\'); 
    }
    return $content; 
    }

}

add_filter(\'the_content\', \'page_content\');

1 个回复
最合适的回答,由SO网友:Howdy_McGee 整理而成

我认为问题在于PHPinclude() 函数将输出而不是返回数据。您可以做的是输出缓冲区include,它看起来像:

// Start buffering any output
ob_start();

    // Output the include into the buffer.
    include( \'horo-header.php\' );

// Append the buffered output into the $content variable
$content .= ob_get_clean();
此外,您可能需要研究get_template_part() 而不是包含。有关输出缓冲的更多信息,请查看PHP文档:

https://www.php.net/manual/en/ref.outcontrol.php

相关推荐

为内置钩子调用do_action和Apply_Filters是否安全?

我正在开发一个插件,它需要复制一些内置的WordPress逻辑。(此逻辑不能用任何内置方法调用,也不能独立连接到。)在这个动作序列中,WordPress的正常行为是调用动作挂钩(do_action(\'wp_login\', ...)) 和过滤器挂钩(apply_filters(\'login_redirect\', ...)).如果在对应于在Core中调用它们的时间点调用它们,那么直接从我的插件调用这些内置钩子是否安全(并且是可以接受的做法)?或者,其他与此相关的开发人员期望在非常特定的时间执行操作的风