如果要在帖子上而不是页面上显示评论和评论表单,则需要拆分模板文件中的逻辑以调用comments_template()
取决于显示的项目类型(帖子或页面)。有两种方法可以做到这一点:或者为两个项目保留一个模板文件,然后使用conditional tags:
if (!is_page()) {
comments_template();
}
另一种选择是使用
single.php
帖子的模板文件和
page.php
对于您的页面(请参阅
the Template Hierarchy 更多信息)。不要打电话给
comments_template()
在页面模板中。如果帖子和页面布局之间没有其他区别,那么一个带有条件标记的组合模板文件可能更便于维护。
如果要“从远处”执行此操作,那么模板文件中已包含对comments_template()
, 您可以创建一个挂钩到comments_template
过滤并重定向到目录中的一个空文件(它甚至可能是插件文件本身,因为它只包含PHP代码,不会显示任何内容,但这会让其他人感到困惑)。
add_filter(\'comments_template\', \'no_comments_on_page\');
function no_comments_on_page( $file )
{
if ( is_page() ) {
$file = dirname( __FILE__ ) . \'/empty-file.php\';
}
return $file;
}