_Content()在页面/帖子标题之后和内容之前打印站点标题

时间:2021-05-28 作者:Rickmakeitquick

我的页面都显示了网站标题(来自定制者),在页面或帖子标题之后,在“我的网站”之前;“正文”;该职位的。通过在WordPress代码前后插入要打印的文本行进行故障排除,将源代码缩小到the_content() 在页面模板内调用。

以下是方法the_content() 被称为:

        ...
        </header><!-- .entry-header -->

        <div class="content entry-content">
            <?php the_content(
                // Translators: %s: Name of current post. Only visible to screen readers.
                sprintf( esc_html__( \'Continue reading %s\', \'bulmapress\' ), \'<span class="screen-reader-text">\' . the_title( \'\', \'\', false ) . \'</span>\' )
            );

            wp_link_pages( array(
                \'before\' => \'<div class="page-links">\' . esc_html__( \'Pages:\', \'bulmapress\' ),
                \'after\'  => \'</div>\',
                ) );
                ?>
        </div><!-- .entry-content -->

        <footer class="content entry-footer">
        ...
我有点困惑,因为post_template.php 哪里the_content()get_the_content() 定义的是WordPress/includes文件,而不是父主题文件。

我应该寻找一些在主题中定义的过滤器吗?TIA公司

1 个回复
SO网友:Rickmakeitquick

罪魁祸首在add\\u filter函数中。注释掉以下内容后,页面/帖子内容上方的网站标题被删除:

function add_post_content($content) {
    if(!is_feed() && !is_home()) {
        $content .= \'<p>This article is copyright &copy; \'.date(\'Y\').\'&nbsp;\'.bloginfo(\'name\').\'</p>\';
    }
    return $content;
}
add_filter(\'the_content\', \'add_post_content\');
第一部分,“;本文版权所有(c)“;,在您期望的地方打印,但bloginfo(“名称”)出现在其他内容之前。

编辑--解释:

WordPress Code Reference, 一些隐晦的建议出现了:“quot;这始终会将结果打印到浏览器。如果需要在PHP中使用这些值,请使用get\\u bloginfo()"E;Bloginfo() 包括echo 语句,因此它会在预处理代码时立即打印到浏览器。

我的呼叫bloginfo() 在my child主题的函数中functions.php 是在WordPress有机会打印页面或帖子内容之前处理的,因此此时会出现函数的输出。相反get_bloginfo() 仅返回与请求的参数相对应的数据。

相关推荐