首頁 >php教程 >php手册 >wordpress文章只允许管理员评论

wordpress文章只允许管理员评论

WBOY
WBOY原創
2016-06-06 20:08:351000瀏覽

是文章,不是页面,跟公告栏不是一回事! 题目的意思可以理解成把"关闭评论"改成"关闭游客评论". 我们知道在编辑文章的时候,有关闭评论的选项,其实这个选项本身就很蛋疼,应该换成"关闭游客评论",今天有人提到这个问题,所以顺便写出来,因为没有别的可写了. 折腾

是文章,不是页面,跟公告栏不是一回事!
题目的意思可以理解成把"关闭评论"改成"关闭游客评论".
我们知道在编辑文章的时候,有关闭评论的选项,其实这个选项本身就很蛋疼,应该换成"关闭游客评论",今天有人提到这个问题,所以顺便写出来,因为没有别的可写了.
折腾过公告栏的同学应该都知道,如果想让指定页面只能管理员评论,可以通过页面模板来实现,而文章是没有模板的,如果想让一篇文章只允许管理员评论,该怎么做呢?
下面是方法:
首先在你的comments.php找到

<?php if ('open' == $post->comment_status ): ?>

改成

<?php if ('open' == $post->comment_status ||current_user_can('level_10') ): ?>

这是第一步,现在看看在管理员的视角下,是不是关闭评论的文章也可以看到评论框咯?
但是还没有结素,因为你提交评论时会发现无法提交,因为"此项目评论已关闭"
接下来再改,如果用了ajax无刷新提交评论,需要修改comments-ajax.php,找到if ( !comments_open($comment_post_ID) ) {
把下面的

do_action('comment_closed', $comment_post_ID);
err(__('Sorry, comments are closed for this item.'));

注释掉,即:改成

//do_action('comment_closed', $comment_post_ID);
//err(__('Sorry, comments are closed for this item.'));

如果没有使用comments-ajax.php的,需要修改wordpress原生文件,找到根目录下的wp-comments-post.php

if ( !comments_open($comment_post_ID) ) {
	do_action('comment_closed', $comment_post_ID);
	wp_die( __('Sorry, comments are closed for this item.') );

改成

if ( !comments_open($comment_post_ID) ) {
	//do_action('comment_closed', $comment_post_ID);
	//wp_die( __('Sorry, comments are closed for this item.') );

现在就能成功提交评论了,而在游客眼里,依然是没有评论框的.
好开森,今天任务又完成了,匿~

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn