Comments_template()函数如何获取不同评论模板

wordpress 主题的文章页 single.php 或页面 page.php 文件一般都会通过 comments_template()函数来获取评论模板,大多数情况下都是直接使用以下代码:

    <?php if ( comments_open() || get_comments_number() ) : ?>
    <?php comments_template( '', true ); ?>
    <?php endif; ?>

或者使用直接不带参数使用以下代码

    <?php comments_template(); ?>

这种情况都是默认加载当前主题的 comments.php 评论模板文件,那么有没有办法加载不同的评论模板呢?在会回答这个问题之前我们先来了解一下 comments_template()函数吧。

函数介绍

    comments_template( string $file = '/comments.php', bool $separate_comments = false )

$file:(字符串)(可选)要加载的文件,默认值:'/comments.php';
$separate_comments(布尔值)(可选)是否按评论类型划分评论,默认值:false。
函数使用

在介绍使用之前回到本文开头的代码,不带参数的 comments_template()就相当于 comments_template('/comments.php',false)。而大多数情况下,我们都是希望按评论类型划分评论,所以最后一个参数一般都建议为 true。所以正常获取评论模板的代码应该就是本文开头所说的:

    //允许评论或有一条及以上评论时加载默认评论模板
    <?php if ( comments_open() || get_comments_number() ) : ?>
    <?php comments_template( '', true ); ?>
    <?php endif; ?>

comments_template()函数的使用,那么回到本文的主题,什么情况下会用到 comments_template()函数加载不同的评论模板?比如 boke112 导航的其他文章类型是加载正常的评论模板文件,而博客目录页目前打算关闭评论的,但是以前已有评论的目录页我也打算保留这些评论内容,那么有两种办法可以做到,一个是手工去编辑目录页然后关闭评论,另一个办法就是建立一个只显示评论内容而没有评论功能的模板文件,然后在博客目录页文件中加载该评论即可。具体做法就是将当前主题的 comments.php 文件另存为另一个文件,如 bkml-comments.php,然后使用以下代码即可加载该文件:

    <?php comments_template( '/bkml-comments.php', true ); ?>

 

http://xzh.i3geek.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请不要用于商业用途及非法用途,否则后果自负!
3. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"qq301.com",如遇到无法解压的请联系管理员!
资源客是一个优秀的分享资源站,本站资源均为各位友友分享而来,特殊原创会标明如有侵犯版权等可联系删除

资源客 » Comments_template()函数如何获取不同评论模板