HuskyNET

Автоустановка статуса опубликованных постов пользователем

41

Повесьте хук на событие «save_post», проверяйте роль редактирующего запись (здесь есть хорошая таблица соответствий прав пользователей их ролям http://codex.wordpress.org/Roles_and_Capabilities). Если пользователь ниже ранга редактора и запись имеет статус «опубликовано», меняйте статус записи на «pending» («на утверждении»).

function my_func_on_save_post($post_id) {
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
        return $post_id;
    }
    if (!current_user_can('edit_pages', $post_id) && get_post_status($post_id) == 'publish') {
        wp_update_post(array(
            'ID' => $post_id,
            'post_status' => 'draft'
        ));
    }
}
add_action('save_post', 'my_func_on_save_post');

Обсуждение на ru.stackoverflow.com

Плагин продвинутого редактирования прав User Role Editor

Стандартные статусы в WordPress

По умолчанию в WordPress имеется 8 статусов постов. Рассмотрим каждый из них:

кнопка публикации поста

кнопка запланированной публикации записи

кнопка сохранения черновика

кнопка отправки поста на утверждение

сохранить пост как личное

ссылка перемещения поста в корзину