steven
  • 0
Эксперт

Разрешить классу пользователей сохранять страницу как черновик, но не публиковать без одобрения администратора

  • 0

Я хочу создать пользовательский класс, который может редактировать страницы и сохранять их как черновики, не имея возможности публиковать их. Администратор должен будет войти и опубликовать черновик, как только он его одобрит.

Идея аналогична мини-формам TDO, за исключением того, что это будет сделано в панели администратора WordPress, а не в форме, и для этого они должны быть зарегистрированным пользователем в определенном классе.

Спасибо!

Share
  1. Я завершил свой ответ на основе предоставленных вами дополнительных сведений.

    • 0
  2. Sorich87 прав. Кодекс WP описывает автора как: человека, который может писать и управлять своими сообщениями, но не публиковать их. (См. codex.wordpress.org/Roles_and_Capabilities). Если вы хотите, чтобы люди автоматически получали эту возможность при регистрации, вы можете установить роль по умолчанию на Участник на панели настроек.

    Если вам нужны дополнительные разрешения, которые не обрабатываются встроенными разрешениями WordPress — скажем, например, вам нужен пользователь, который также может редактировать сообщения других людей, но после редактирования они снова становятся черновиками или чем-то еще — тогда есть несколько хороших плагинов Role Manager. Дополнительные сведения см. в документации по ролям и возможностям.

    • 0
  3. ревизионный

    Этот плагин будет делать то, что вы хотите. Он создает роль Ревизора, нечто среднее между Участником и Редактором. Пользовательский интерфейс можно было бы улучшить, и внутренний код должен был исправить многие недостающие функции WordPress, но да, это решает вашу проблему.

    • 0
  4. Это то, что вы можете сделать (добавьте следующий код в файл functions.php вашей темы или пользовательский плагин):

    function add_custom_role() {
        global $wp_roles;
        
        $custom_capabilities = array(
            'read', 'edit_posts', 'upload_files',
            'read_private_pages', 'edit_private_pages', 'read_private_posts',
            'edit_private_posts', 'edit_published_pages', 'edit_others_pages',
            'edit_pages', 'edit_published_posts', 'edit_others_post',
            'unfiltered_html', 'manage_options'
        );
    
        $wp_roles->add_role( 'custom_role', 'Custom Role', $custom_capabilities );
    }
    
    add_action( 'init', 'add_custom_role' );
    

    Использованная литература:

    https://wordpress.org/support/article/roles-and-capabilities/

    http://www.wphardcore.com/2010/ultimate-guide-to-roles-and-capabilities/

    и более современная статья из предложенного редактирования:
    https://kinsta.com/blog/wordpress-user-roles/

    • 0

Оставить ответ

You must login to add an answer.