Запрет на редактирование произвольных типов записей

👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →

Здравствуйте!

Подскажите, как запретить редактирование произвольных типов записей?

Для обычных Записей есть, например, вот такой код:

add_filter( 'user_has_cap', 'my_limit_editing', 10, 3 );
function my_limit_editing( $allcaps, $cap, $args ) {
    if( 'edit_post' != $args[0] && 'delete_post' != $args[0]
      || !empty( $allcaps['manage_options'] )
      || empty( $allcaps['edit_posts'] ) )
        return $allcaps;
    $post = get_post( $args[2] );
    if( 'publish' != $post->post_status )
        return $allcaps;
    if( strtotime( $post->post_date ) < strtotime( '-7 day' ) ) {
        $allcaps[$cap[0]] = false;
    }
    return $allcaps;
}

Как его изменить, чтобы работал для произвольных типов записей?

Создай свой первый сайт на WordPress

qeeq
Оцените автора
Добавить комментарий

  1. tiaurus

    Вы можете запретить редактирование пользовательских типов записей, используя плагины, управляющие возможностями ролей пользователей. Например, с помощью:

    User Role Editor
    Members

    Так же посмотрите похожее обсуждение на англ. языке.

    Ответить