Để giới hạn số lượng bài viết của người dùng mình sẽ tác động vào save_post, save_post là một action được kích hoạt bất cứ khi nào một bài đăng hoặc trang được tạo hoặc cập nhật, có thể từ một biểu mẫu nhập, chỉnh sửa bài / trang, xmlrpc hoặc đăng qua email.
Các bước cơ bản để thực hiện:
- Lấy thông tin người dùng đang đăng nhập
- Đếm số lượng bài viết
- Kiểm tra với số lượng đã định trước
- Nếu vượt số lượng giới hạn thì trả về một trang bất kì
- Kết thúc
Mọi người có thể dựa vào đó và tùy chỉnh lại theo nhu cầu sử dụng của mình nha 😀
Giới hạn số lượng bài viết
add_action( 'save_post', 'limit_post' ); function limit_post() { $user_id = get_current_user_id(); if ( count_user_posts( $user_id , 'post' ) >= 5 ) { wp_redirect('https://mydomain.com/wp-admin/edit.php'); exit; } }
Giới hạn số lượng bài viết theo Role
add_action( 'save_post', 'limit_post_by_role' ); function limit_post_by_role() { $user_id = get_current_user_id(); $user_meta = get_userdata($user_id); $user_roles = $user_meta->roles; if ( in_array( 'author', $user_roles, true ) ) { if ( count_user_posts( $user_id , 'post' ) >= 5 ) { wp_redirect('https://mydomain.com/wp-admin/edit.php'); exit; } } }