Đặt trạng thái Chờ duyệt đối với các bài đăng từ Tác giả

Theo mặc định, người dùng có vai trò Tác giả (Author) trong WordPress có thể đăng bài và bài sẽ được xuất bản ngay lập tức. Tuy nhiên, nếu bạn muốn bài viết của họ phải chờ kiểm duyệt trước khi xuất bản, bạn có thể làm điều đó chỉ với một đoạn mã đơn giản.

Đặt trạng thái Chờ duyệt đối với các bài đăng từ Tác giả

Hướng dẫn áp dụng

Các bạn thêm đoạn mã sau vào functions.php.

/**
 * Tự động chuyển bài viết mới của tác giả về trạng thái 'pending'.
 */
function set_post_status_to_pending($post_id, $post, $update) {
    // Bỏ qua nếu là bản revision
    if (wp_is_post_revision($post_id)) return;

    // Chỉ xử lý khi là bài mới (không phải cập nhật)
    if ($update) return;

    // Kiểm tra người đăng bài là 'author'
    $user = get_userdata($post->post_author);
    if (in_array('author', (array) $user->roles)) {

        // Nếu bài đang ở trạng thái 'publish', chuyển về 'pending'
        if ($post->post_status === 'publish') {
            // Tránh vòng lặp vô hạn bằng cách chỉ cập nhật nếu khác trạng thái
            remove_action('wp_insert_post', __FUNCTION__, 10);
            wp_update_post([
                'ID' => $post_id,
                'post_status' => 'pending'
            ]);
            add_action('wp_insert_post', __FUNCTION__, 10, 3);
        }
    }
}
add_action('wp_insert_post', 'set_post_status_to_pending', 10, 3);

Ghi chú

  • Đoạn mã này không ảnh hưởng đến các vai trò khác (admin, editor…)
  • Bạn có thể thay author bằng quyền khác như contributor, editor nếu muốn áp dụng logic tương tự
  • Đảm bảo plugin cache (nếu có) không lưu lại trạng thái sai sau khi cập nhật bài viết

Kết luận

Với vài dòng mã đơn giản, bạn đã có thể kiểm soát nội dung trước khi được xuất bản bởi các tài khoản Tác giả. Điều này đặc biệt hữu ích với các trang có nhiều cộng tác viên, giúp bạn kiểm duyệt nội dung hiệu quả hơn.

Chúc bạn thành công!

Bình luận


  • Không có bình luận.

Init Toolbox

Nhấn Ctrl + \ trên máy tính, hoặc vuốt sang trái ở bất kỳ đâu trên mobile.

Đăng nhập





Đang tải...