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