Làm Thế Nào Chặn Cập Nhật Và Xóa Bài Đăng WordPress

Việc quản lý WordPress với các tác giả khác nhau thi thoảng có thể khá phức tạp. Có các plugins để quản lý các quy trình làm biên tập, nhưng bạn có thể gặp phải tình huống mà bạn cần các giải pháp cụ thể để việc kiểm soát trang WordPress của bạn tốt hơn. Gần đây, chúng tôi đã giúp một người dùng tìm ra một giải pháp như vậy. Họ muốn chặn các cập nhật và việc xóa các bài đăng WordPress sau một khoảng thời gian. Ví dụ, nếu một bài đăng được phát hành được 30 ngày hoặc hơn, thì nó không thể bị chỉnh sửa hoặc xóa bởi các editors nữa. Chỉ các admins mới có thể thay đổi bài đăng này. Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách làm thế nào để chặn cập nhật và xóa bài đăng và chỉnh sửa sau một khoảng thời gian trong WordPress.

post-lockTất cả những gì bạn phải làm là thêm đoạn code dưới đây vào trong file functions.php trong giao diện của bạn hoặc một plugin site-specific.

function dieuhau_restrict_editing( $allcaps, $cap, $args ) {

    // Bail out if we're not asking to edit or delete a post ...
    if( 'edit_post' != $args[0] && 'delete_post' != $args[0]
      // ... or user is admin
      || !empty( $allcaps['manage_options'] )
      // ... or user already cannot edit the post
      || empty( $allcaps['edit_posts'] ) )
        return $allcaps;

    // Load the post data:
    $post = get_post( $args[2] );

    // Bail out if the post isn't published:
    if( 'publish' != $post->post_status )
        return $allcaps;

    //if post is older than 30 days. Change it to meet your needs
    if( strtotime( $post->post_date ) < strtotime( '-30 day' ) ) {
        //Then disallow editing.
        $allcaps[$cap[0]] = FALSE;
    }
    return $allcaps;
}
add_filter( 'user_has_cap', 'dieuhau_restrict_editing', 10, 3 );

Tính năng này kiểm tra liệu người dùng có khả năng để chỉnh sửa hoặc xóa các bài đăng hay không. Sau đó nó sẽ kiểm tra đến các trạng thái bài đăng. Nếu một bài đăng được đưa ra hơn 30 ngày thì khả năng chỉnh sửa và xóa nó của người dùng sẽ không còn. Nếu một bài đăng được đưa ra ít hơn 30 ngày thì người dùng với khả năng chỉnh sửa các bài đăng sẽ có thể chỉnh sửa nó. Lưu ý: các admins có thể chỉnh sửa và xóa các bài đăng bất cứ lúc nào họ muốn.

Chúng tôi hy vọng bài viết này giúp bạn bất cứ ai đang tìm kiếm giải pháp để chặn việc chỉnh sửa, cập nhật và xóa bài đăng trong WordPress sau một khoảng thời gian được định sẵn. Liệu bạn sẽ làm như vậy cho trang của mình chứ? Bạn có thể thấy các trường hợp sử dụng nào cho điều tương tự như thế này? Hãy cho chúng tôi biết trong phần bình luận bên dưới.

Về tác giả

Duy Anh

Chào các bạn,

Mình là coder, đang sống và làm việc ở Mỹ. Mình thích viết lách nên muốn dành khoảng thời gian trống để chia sẻ các thủ thuật giúp các bạn xây dựng được trang web riêng của mình. Bạn nào cần xây dựng blog, web thì cứ ới, rảnh là mình giúp, tất cả FREE nhé!

Ý kiến cá nhân của bạn

bộ công cụ Wordpress hữu ích dành cho mọi website

Bộ công cụ hữu ích dành cho mọi website Wordpress

Bao gồm theme & plugin tốt nhất và được sử dụng nhiều nhất!

Xin vui lòng kiểm tra email để xác thực tài khoản!