在删除帖子时,具有管理员角色的用户是否会收到“对不起,您不能将此项目移至垃圾桶”错误消息?

时间:2017-04-03 作者:IAmDhar

我拿到了wp_die 错误消息:

抱歉,不允许您将此项目移动到垃圾箱。

我试图把这篇文章扔进垃圾桶,但当我再次尝试把它扔进垃圾桶时wp_die 错误消息:

移动到垃圾箱时出错。

出现了,刷新时我看到帖子被删除了。我有管理员角色,所以我有delete_post 能力。根据中的此代码段wp-admin/edit.php, 具有admin的角色不应出现任何这些错误。

foreach ( (array) $post_ids as $post_id ) {
    if ( !current_user_can( \'delete_post\', $post_id) )
        wp_die( __(\'Sorry, you are not allowed to move this item to the Trash.\') );

    if ( wp_check_post_lock( $post_id ) ) {
        $locked++;
        continue;
    }

    if ( !wp_trash_post($post_id) )
        wp_die( __(\'Error in moving to Trash.\') );

    $trashed++;
}

1 个回复
SO网友:mmm

当您使用map_meta_cap 具有自定义立柱类型(例如CPTbook), 能力delete_book 不会自动添加到管理员。

那么你需要使用add_cap 添加它

https://codex.wordpress.org/Function_Reference/add_cap

相关推荐

Wp_trash_post挂钩-使用wp_die时的页面更新问题

我正在构建一个插件,在某些情况下可以防止某些帖子被放入垃圾箱。为此,我使用“wp\\u trash\\u post”。在回调函数中,我执行逻辑来检查帖子是否可以放入垃圾箱。如果不能,则调用wp\\u die()。简化的代码如下所示:add_action( \'wp_trash_post\', \'check_delete_posts\' ); function check_delete_posts( $post_id ) { $check = false;