当前浏览:首页 / WordPress钩子 / comments_template

apply_filters( 'comments_template', string $theme_template )

过滤用于评论模板的主题模板文件的路径

comment 评论more...

templatemore...


参数

$theme_template

(string) 主题模板文件的路径。


更多信息

comments_template过滤器可用于从插件加载自定义模板,该模板将替换主题的默认评论模板。



源码

查看源码 官方文档


更新日志

版本描述
1.5.1开始引入

使用示例

  • 示例1

    从Codex迁移的代码示例:

    插件可以使用以下代码注册为内容过滤器:

    <?php add_filter( "comments_template", "my_plugin_comment_template" ); ?>
    

    其中,my_plugin_comment_template是WordPress在主题上调用comment_template()函数时应调用的函数。请注意,插件定义的过滤器函数必须返回模板文件的完整路径,否则生成的页面将为空。

    这是为自定义文章类型加载不同评论模板的示例:

    <?php
    function my_plugin_comment_template( $comment_template ) {
         global $post;
         if ( !( is_singular() && ( have_comments() || 'open' == $post->comment_status ) ) ) {
            return;
         }
         if($post->post_type == 'business'){ // assuming there is a post type called business
            return dirname(__FILE__) . '/reviews.php';
         }
    }
    
    add_filter( "comments_template", "my_plugin_comment_template" );
    ?>
    

    示例代码将为名为business的CPT加载模板文件reviews.php,该模板文件位于插件文件夹中,否则,代码使用默认模板。