👍 Научим бесплатно правильно создавать сайты на 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;
}
Как его изменить, чтобы работал для произвольных типов записей?


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