不让多说覆盖wordpress所有的评论

WordPress技术博客wp应用技术

多说是一款非常棒的插件,他的评论样式和社会化分享功能非常的好,所以非常多的网站也在使用多说。

最近我们在对官网进行开发时,想要利用wordpress原生的评论机制,建立一个小小的类似于贴吧bss,由于是bbs,所以功能和样式方便就不想用多说评论覆盖了,而是自己开发一个好看的类似于bbs的回帖样式。

但是,多说的机制是只要调用wordpress评论模块,使用到   <?php comments_template(); ?>  那么多说就会立即进行覆盖,由于多说没有提供自定义的端口,让用户自由放置,所以要实现一部分文章不使用多说还是有点麻烦。

我们在联系了多说的客服之后发现,其实多说还有一个关闭当前文章多说评论的功能,可能这个功能并容易被找到,我们也是通过客服才知道有这个功能,这个选项需要你再文章编辑页面点击“显示选项” –勾选“讨论”

在讨论模块中可以看到一个单选按钮,选择关闭多说评论:

duoshuo-wordpress-themepark

选择了这个选项,就不会被多说的插件所覆盖了。

但是如果手动去选择这个选项那么无疑是会把人给累死的,所以我们如何去做到自动关闭呢?

首先我们可以了解下多说的这个关闭评论是如何运行的:

多说的这个关闭评论的选项代码在多说插件中的文件 wordpress.php中1258行中  commentStatusMetaBoxOptions 这个函数中

原理是利用wordpress的自定义栏目(post_meta)   ,多说这个选项如果选择则会添加一个自定义栏目”duoshuo_status“,并且输出disabled,通过自定义栏目”duoshuo_status“是否有输出”disabled“ 来判断是否关闭。

看到这里,有基础的朋友已经知道如何去自动关闭多说评论了吧?   答案非常简单,使用wordpress添加自定义栏目功能 add_post_meta函数即可。

add_post_meta  这个函数我们稍加解释就知道如何去用了

这个函数有几个比较重要的参数

add_post_meta(   “文章的ID”  ,  ”自定义栏目的名称“  , ”默认的值“)

现在如果你想要关闭某个文章的多说评论  即可这样

add_post_meta(   "文章的ID"  ,  'duoshuo_status', 'disabled');

这样,你只需要判断文章的id,即可使用这段代码自动输出一个自定义栏目了~

我们所使用的是wordpress插入文章的函数 wp_insert_post

如果你也是使用这个函数 就可以在插入文章函数后面加上

$myID = wp_insert_post( $whatever );
add_post_meta($myID, 'duoshuo_status', 'disabled');

 

这样插入文章函数执行的时候,会自动添加进自定义栏目的~  是不是很方便呢?

其他的方式如某个分类的文章插入这个自定义栏目我们还没有试过,应该也是非常简单的一个排除判断的id过程,所以如果有兴趣,你也可以试一下哦!

 

上一篇:

下一篇:

文章评论

您好!请登录

取消回复
  1. 我叫菜没边 回复

    我是个人做网站的业余爱好者,偶然进入到这个网站,感觉非常的好,主题什么的都很不错,文章很认真,“禁止”是一种态度,一种严谨的态度,非常喜欢这个网站


展开更多