web-dev-qa-db-ja.com

管理者ロールを持つユーザーは、投稿をゴミ箱に捨てるときに「このアイテムをゴミ箱に移動することはできません」というエラーが表示されますか。

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++;
}
3
IAmDhar

カスタム投稿タイプ(例:CPT book)でmap_meta_capを使用する場合、機能delete_bookは自動的に管理者に追加されません。

それならそれを追加するためにadd_capを使う必要があります

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

2
mmm