WordPress教程

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

也想出现在这里?联系我们
创客云

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

  1.     <?php if ( comments_open() || get_comments_number() ) : ?>
  2.     <?php comments_template( '', true ); ?>
  3.     <?php endif; ?>
也想出现在这里?联系我们
创客主机

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

  1.     <?php comments_template(); ?>

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

函数介绍

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

函数使用

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

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

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

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

本文由来源 boke112,由 PetitQ 整理编辑!

也想出现在这里?联系我们
创客主机

发表评论

热销模板

Hub - 响应式可视化编辑企业官网WordPress汉化模板

Envato

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!

精品专区

Contact us all-in-one button with callback - 轻量级侧边按钮客服插件,允许设置自定义的提示语,还支持添加无限数量的联系方式,不仅支持国内的微信二维码、QQ等主流程序,还支持几乎所有国外的热门社交工具、及时聊天程序等,演示参考我们官网右下角客服按钮。

购买插件