普通的作者,在 WordPress 后台不能看到太多的内容,我们可以让他们看到自己的文章,将下面的代码添加到主题根目录下的 functions.php 即可:

function imjeff_parse_query_useronly( $wp_query ) {
 if ( strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/edit.php' ) !== false ) { if ( !current_user_can( 'add_user' ) ) { global $current_user; $wp_query->set( 'author', $current_user->id ); } } 
};
 add_filter('parse_query', 'imjeff_parse_query_useronly' );

在WordPress后台的评论列表是可以看到其他作者文章下的评论的,如果要限制用户只能看到自己文章下的评论,将下面的代码添加到主题根目录下的 functions.php 即可:

function wpdx_get_comment_list_by_user($clauses) {
 if (is_admin()) {
 global $user_ID, $wpdb;
 $clauses['join'] = ", wp_posts";
 $clauses['where'] .= " AND wp_posts.post_author = ".$user_ID." AND wp_comments.comment_post_ID = wp_posts.ID";
 };
 return $clauses;
};
if(!current_user_can('edit_others_posts')) {
 add_filter('comments_clauses', 'wpdx_get_comment_list_by_user');
}

注:你可能需要修改 第 8-9 行中的几个 wp_ 为你自己的数据库前缀。第 13 行添加了判断,只有“编辑”角色以下的用户才生效,也就是说,属于编辑和管理员这两个角色的用户是不限制的。

# #

分享此文: 微信 新浪微博 QQ
上一篇

使用 text-overflow:ellipsis 实现 CSS 单行文本溢出追加省略号

下一篇

WordPress 教程:获取文章的评论人数

发表评论