我的页面都是在页面或帖子标题之后,在文章的“主体”之前显示站点标题(来自定制程序)。通过在WordPress代码之前和之后插入要打印的文本行来排除故障,将源缩小到页面模板中的the_content()调用。
下面是如何调用the_content():
...
' . the_title( '', '', false ) . '' )
);
wp_link_pages( array(
'before' => '' . esc_html__( 'Pages:', 'bulmapress' ),
'after' => '',
) );
?>
...我有点困惑,因为在post_template.php中定义了the_content()和get_the_content()是一个WordPress /includes文件,而不是父主题文件。我应该寻找一些在主题中定义的过滤器吗?提亚发布于 2021-05-28 20:53:10
罪魁祸首在add_filter函数中。以下注释删除了页面/帖子内容上方的网站标题:
function add_post_content($content) {
if(!is_feed() && !is_home()) {
$content .= 'This article is copyright © '.date('Y').' '.bloginfo('name').'';
}
return $content;
}
add_filter('the_content', 'add_post_content');第一部分,“这篇文章是版权(c)",印在你期望的地方,但是bloginfo('name')出现在其他内容之前。
编辑--解释:
在WordPress码参考中,出现了一些神秘的建议:“这总是将结果打印到浏览器。如果您需要在PHP中使用的值,请使用get_bloginfo()。”Bloginfo()由一条echo语句组成,因此它在代码预处理期间立即打印到浏览器。
在我的子主题的functions.php中的一个函数中,我对D5的调用在WordPress有机会打印页面或post的内容之前就被处理了,所以这时函数的输出就出现了。相反,get_bloginfo()只返回与请求的参数对应的数据。
https://wordpress.stackexchange.com/questions/388847
复制相似问题