Thêm custom post status cho bài viết WordPress

Giới thiệu về Custom Post Status trong WordPress
WordPress, nền tảng quản lý nội dung (CMS) phổ biến nhất thế giới, cung cấp một hệ thống quản lý bài viết linh hoạt và dễ sử dụng. Theo mặc định, WordPress cung cấp các trạng thái bài viết (post status) cơ bản như “Đã đăng” (Published), “Bản nháp” (Draft), “Chờ xét duyệt” (Pending Review), “Lên lịch” (Scheduled) và “Thùng rác” (Trash). Tuy nhiên, trong nhiều trường hợp, các trạng thái này có thể không đủ để đáp ứng các quy trình làm việc phức tạp của một dự án hoặc một tổ chức.
Custom Post Status (trạng thái bài viết tùy chỉnh) cho phép bạn mở rộng hệ thống mặc định của WordPress, thêm các trạng thái bài viết mới để phù hợp với nhu cầu cụ thể của bạn. Ví dụ: bạn có thể tạo các trạng thái như “Đang viết” (Writing), “Đang chỉnh sửa” (Editing), “Đã duyệt” (Approved), “Đã xuất bản bản nháp” (Draft Published) hoặc bất kỳ trạng thái nào khác phù hợp với quy trình làm việc của bạn.
Tại sao nên sử dụng Custom Post Status?
Việc sử dụng Custom Post Status mang lại nhiều lợi ích, bao gồm:
- Tối ưu hóa quy trình làm việc: Custom Post Status cho phép bạn theo dõi tiến độ của bài viết một cách chi tiết và hiệu quả hơn, từ giai đoạn khởi tạo đến khi xuất bản.
- Cải thiện khả năng cộng tác: Khi có nhiều người tham gia vào quá trình tạo nội dung, Custom Post Status giúp mọi người hiểu rõ hơn về trạng thái hiện tại của bài viết và trách nhiệm của mình.
- Tăng cường khả năng quản lý nội dung: Với Custom Post Status, bạn có thể dễ dàng lọc và sắp xếp các bài viết theo trạng thái, giúp bạn tìm kiếm và quản lý nội dung một cách nhanh chóng và hiệu quả.
- Tích hợp với các plugin và theme: Custom Post Status có thể được sử dụng để tùy chỉnh giao diện và chức năng của WordPress, tạo ra trải nghiệm người dùng tốt hơn.
Các phương pháp thêm Custom Post Status
Có nhiều cách để thêm Custom Post Status vào WordPress. Chúng ta sẽ xem xét hai phương pháp phổ biến nhất:
1. Sử dụng Plugin
Đây là cách đơn giản và nhanh chóng nhất để thêm Custom Post Status. Có nhiều plugin miễn phí và trả phí trên WordPress.org cho phép bạn tạo và quản lý Custom Post Status một cách dễ dàng. Một số plugin phổ biến bao gồm:
- Custom Post Status: Plugin này cung cấp giao diện đơn giản để tạo và quản lý Custom Post Status.
- PublishPress Capabilities: Plugin này không chỉ cho phép bạn tạo Custom Post Status mà còn cho phép bạn quản lý quyền truy cập của người dùng dựa trên trạng thái bài viết.
- Edit Flow: Plugin này cung cấp một bộ công cụ quản lý quy trình làm việc toàn diện, bao gồm cả Custom Post Status.
Để sử dụng plugin, bạn chỉ cần cài đặt và kích hoạt plugin, sau đó làm theo hướng dẫn của plugin để tạo Custom Post Status mà bạn muốn.
2. Sử dụng Code (functions.php hoặc Plugin)
Nếu bạn là một nhà phát triển hoặc có kiến thức về PHP, bạn có thể thêm Custom Post Status bằng code. Cách này cho phép bạn có toàn quyền kiểm soát việc tạo và quản lý Custom Post Status.
Bạn có thể thêm code vào file functions.php
của theme (không khuyến khích vì khi đổi theme sẽ mất) hoặc tạo một plugin riêng để chứa code này. Dưới đây là một ví dụ về cách thêm Custom Post Status bằng code:
function register_custom_post_status() {
register_post_status( 'writing', array(
'label' => _x( 'Đang viết', 'post' ),
'public' => true,
'exclude_from_search' => false,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop( 'Đang viết (%s)', 'Đang viết (%s)' ),
) );
register_post_status( 'editing', array(
'label' => _x( 'Đang chỉnh sửa', 'post' ),
'public' => false,
'exclude_from_search' => true,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop( 'Đang chỉnh sửa (%s)', 'Đang chỉnh sửa (%s)' ),
) );
}
add_action( 'init', 'register_custom_post_status' );
function add_custom_post_status_to_select() {
global $post;
$complete = '';
$pending = '';
if($post->post_status == 'writing'){
$writing= ' selected="selected"';
}
if($post->post_status == 'editing'){
$editing= ' selected="selected"';
}
echo '
jQuery(document).ready(function($){
$("select#post_status").append("Đang viết");
$("select#post_status").append("Đang chỉnh sửa");
});
';
}
add_action( 'admin_footer-post.php', 'add_custom_post_status_to_select' );
Đoạn code trên sẽ tạo hai Custom Post Status mới: “Đang viết” và “Đang chỉnh sửa”. Hàm register_post_status()
được sử dụng để đăng ký Custom Post Status. Hàm add_action()
được sử dụng để thêm Custom Post Status vào danh sách trạng thái bài viết trong trang chỉnh sửa bài viết.
Tùy chỉnh Custom Post Status
Bạn có thể tùy chỉnh Custom Post Status để phù hợp với nhu cầu cụ thể của bạn. Dưới đây là một số tùy chỉnh phổ biến:
- Thay đổi nhãn: Bạn có thể thay đổi nhãn của Custom Post Status để hiển thị tên phù hợp hơn.
- Thay đổi quyền truy cập: Bạn có thể thay đổi quyền truy cập của người dùng dựa trên Custom Post Status. Ví dụ: bạn có thể cho phép chỉ những người dùng có vai trò “Biên tập viên” mới có thể chuyển bài viết sang trạng thái “Đã duyệt”.
- Thay đổi giao diện: Bạn có thể thay đổi giao diện của trang chỉnh sửa bài viết dựa trên Custom Post Status. Ví dụ: bạn có thể hiển thị một thông báo đặc biệt khi bài viết ở trạng thái “Đang chỉnh sửa”.
Ví dụ sử dụng Custom Post Status trong thực tế
Dưới đây là một số ví dụ về cách sử dụng Custom Post Status trong thực tế:
- Quy trình biên tập nội dung: Sử dụng Custom Post Status để theo dõi tiến độ của bài viết từ giai đoạn ý tưởng đến khi xuất bản. Ví dụ: “Ý tưởng” -> “Đang viết” -> “Đang chỉnh sửa” -> “Đã duyệt” -> “Lên lịch” -> “Đã đăng”.
- Quản lý dự án: Sử dụng Custom Post Status để theo dõi tiến độ của các task trong một dự án. Ví dụ: “Chờ thực hiện” -> “Đang thực hiện” -> “Đã hoàn thành” -> “Đã kiểm tra” -> “Đã triển khai”.
- Hệ thống hỗ trợ khách hàng: Sử dụng Custom Post Status để theo dõi trạng thái của các yêu cầu hỗ trợ. Ví dụ: “Mới” -> “Đang xử lý” -> “Đã giải quyết” -> “Đã đóng”.
Kết luận
Custom Post Status là một tính năng mạnh mẽ của WordPress cho phép bạn mở rộng khả năng quản lý nội dung và tối ưu hóa quy trình làm việc của mình. Bằng cách sử dụng Custom Post Status, bạn có thể tạo ra một hệ thống quản lý nội dung phù hợp với nhu cầu cụ thể của bạn, giúp bạn làm việc hiệu quả hơn và cộng tác tốt hơn với đồng nghiệp.