订阅者的编辑注释功能(_M)

时间:2013-02-07 作者:dexBerlin

我已为网站的订阅者角色授予以下权限(未序列化的DB查询):

[subscriber] => Array
    (
        [name] => Reader
        [capabilities] => Array
            (
                [delete_comment] => 1
                [edit_comment] => 1
                [level_0] => 1
                [quick_edit_comment] => 1
                [read] => 1
                [reply_comment] => 1
                [unfiltered_html] => 1
            )

    )
我想让订阅者能够编辑他们的评论,但我总是收到一个错误“您不允许编辑此评论”我在调试过程中尝试了以下操作(在我的comments.php模板文件中):

$link = get_edit_comment_link($GLOBALS[\'comment\']->comment_ID);
$perm1 = current_user_can(\'edit_comment\', $GLOBALS[\'comment\']->comment_ID);
$perm2 = current_user_can(\'edit_comment\');
var_dump($link);
var_dump($perm1);
var_dump($perm2);
global $current_user;
var_dump($current_user->allcaps);
给出以下输出(在旁边添加解释):

(get_edit_comment_link): NULL
(cur_user w/ post-id): bool(false)
(cur_user w/o post-id): bool(false)

(allcaps): 
array(9) { ["delete_comment"]=> bool(true) ["edit_comment"]=> bool(true) 
["edit_posts"]=> bool(true) ["level_0"]=> bool(true) ["quick_edit_comment"]=> bool(true) 
["read"]=> bool(true) ["reply_comment"]=> bool(true) ["unfiltered_html"]=> bool(true) 
["subscriber"]=> bool(true) } 
如您所见,allcaps显示允许用户编辑\\u注释。但是get\\u edit\\u comment\\u链接保持为空,尽管角色具有此功能,并且当前用户是注释的作者。

1 个回复
SO网友:M3o

你试过了吗

$subscriber=get\\u角色(“subscriber”)$订阅服务器->添加\\u cap(\'edit\\u comment\');

NOTEeidt\\u注释仅在verson 3.1或更高版本中受支持

这对我有用,希望对你有帮助!

结束

相关推荐

如何使用从wp_Comments(SQL GROUP BY)返回的评论计数来更新wp_post

我正在做一个从某人的定制CMS到WP安装的特殊迁移。我成功地将帖子和评论迁移到各自的表中。现在,我需要将每个匹配id的评论计数放入wp\\u posts表中。我很接近,我想:SELECT COUNT(comment_content) AS total_comments, comment_post_ID AS commentID FROM wp_comments GROUP BY comment_post_ID; --mysql won\'t let me run the group