Intereting Posts
Как изменить индивидуальный тип сообщения pemalink Hierarcy Запуск функции для почтового содержимого и метаданных CPT свойство hide_empty не работает при использовании get_terms Страница регистрации Woocommerce Удалите всех пользователей, которые назвали: user_avatar WordPress Популярные сообщения Таблица Размер становится большим Список определенных пользовательских типов сообщений в пользовательском шаблоне orderby = id и order = DESC не работает Как настроить самостоятельный WordPress, чтобы все можно было обновить / установить с панели инструментов Изменить id = «ответить» на контейнер комментариев Локализация / textdomain медленная и хаотичная Перевести аргументы пользователя, добавленного пользовательским кодом Несколько циклов с установленными интервалами с кодом между Как изменить тип сообщения по умолчанию / сообщение на носитель или вложения Как настроить пользовательские поля проверки в ajax checkout в woocommerce

'post' только для редактора и администратора

Как я могу сделать так, чтобы только администратор и редактор могли получить доступ к пост-типу post? (так же, как «страница» post-type)

Я планирую только позволить автору и вкладчику использовать Custom-Post-Type, который я подготовил заранее …

Зарегистрированные возможности (и другие функции) для зарегистрированных типов сообщений не сохраняются в базе данных, а в глобальной переменной – $wp_post_types .

Быть глобальной переменной, редактировать ее легко. Однако вам также потребуется вручную удалить пункт меню, иначе авторы и участники смогут увидеть его, даже если они не могут создавать / редактировать сообщения.

В следующей функции я буду устанавливать возможности для копирования типа post post типа из типа post post.

 add_action('init', 'restrict_posts', 1); // registration run on init with priority 0 add_action('admin_menu', 'remove_post_from_menu', 1); function restrict_posts() { global $wp_post_types; $wp_post_types['post']->cap = clone $wp_post_types['page']->cap; } function remove_post_from_menu() { if ( current_user_can('edit_others_pages') ) return; remove_menu_page('edit.php'); }