Sắp xếp bài viết bằng plugin Meta Box

Việc sắp xếp các bài đăng theo ý mình sẽ trở nên đơn giản rất nhiều nếu bạn sử dụng plugin Meta Box và hai extension Meta Box BuilderMB Admin Columns. So với việc sắp xếp bằng cách chỉnh ngày đăng bài, vừa tốn thời gian, mất công lại không hiệu quả, plugin Meta Box và hai extensions trên giúp bạn hiển thị bài đăng theo thứ tự mong muốn hết sức nhanh chóng và dễ dàng.

Đầu tiên, các bạn tải plugin Meta Box tại đây. Ngoài plugin Meta Box miễn phí cung cấp framework để tạo custom field ra, bạn cần mua thêm extension Meta Box Builder để thực hiện tạo custom field dễ dàng bằng giao diện người dùng trực quan. Nhưng nếu bạn là dân coder thì bạn có thể tự tạo field bằng việc code mà không cần extension này. Ngoài ra thì bạn nên dùng extension MB Admin Columns để quản lý việc sắp xếp bài viết dễ dàng hơn.

Sau khi cài đặt và kích hoạt tất cả plugin và extension trên, cùng thực hiện các bước sau để sắp xếp bài đăng dùng custom field với plugin Meta Box nhé.

Bước 1: Tạo custom fields cho bài viết để điền số thứ tự

Thay vì việc viết code, Meta Box Builder sẽ giúp bạn tạo custom fields với giao diện trực quan, dễ hiểu.

Đầu tiên, chọn tab Custom Field của Meta Box trong Dashboard, sau đó click vào nút Add New để tạo một field mới.

Tạo custom fields

Vì mình tạo custom fields cho bài viết để điền số thứ tự nên mình sẽ chọn field dạng text (hoặc number) ở cột bên trái. Sau đó một cột sẽ hiện ra ở bên phải để điền Title (tên) và Lable (nhãn) của field. Ở đây mình đặt là “Order field” cho không bị nhầm với các field khác. Phần ID mình đánh dấu, bạn có thể thay ID tự động tạo bởi Meta Box Builder bằng ID của chính mình cho dễ nhớ. Sau đó hãy copy ID của field để điền vào đoạn code ở bước sau nhé. Xong xuôi, hãy ấn Publish.

copy ID của field để điền vào đoạn code

Bước 2: Điền thứ tự bài đăng theo ý muốn

Sau khi thêm custom field, bạn vào Post Editor, mở một bài viết mà bạn muốn sắp xếp và tìm đến phần field vừa tạo. Ở tab này mình sẽ điền số thứ tự của bài viết mình muốn sau đó nhấn Update bài.

điền số thứ tự của bài viết

Để dễ dàng quản lí thứ tự bài đăng, MB Admin Columns sẽ giúp bạn tạo một cột số thứ tự trong danh sách bài viết.

Quay lại Meta Box Builder, phần custom field vừa tạo ở trên, chọn tab Advanced > Add Attribute sau đó điền các tham số như sau:

điền các tham số

Trong đó admin_columns là bắt buộc để có thể tích hợp được với MB Admin Columns, còn after date là vị trí hiển thị cột thứ tự bài đăng nên bạn có thể thay nó bằng after tag, after category hay bất kì vị trí nào bạn muốn. Cuối cùng đừng quên ấn Update nhé.

Nếu trong code thì chỉ đơn giản là thêm đoạn sau vào khai báo meta box.

‘admin_columns’ => ‘after date’

Bây giờ khi vào danh sách bài đăng bạn sẽ thấy thêm 1 cột hiển thị giá trị custom field ta đã điền. Thật tiện lợi để kiểm soát và sắp xếp thứ tự bài đăng đúng không nào. Tuy nhiên extension này không bắt buộc nên dùng hay không là tùy bạn.

cột hiển thị giá trị custom field

Bước 3: Thêm code để hiển thị bài đăng theo thứ tự vừa tạo

Hiện tại thì trang chủ của bạn vẫn chưa hiển thị theo thứ tự vừa tạo đâu. Để hiển thị được thì bạn cần thêm đoạn code sau vào file ‘functions.php’ trong theme của bạn.

function memory_custom_post_order_sort( $query ) {
if ( $query->is_main_query() && is_home() ) {
$query->set( 'orderby', 'meta_value' );
$query->set( 'meta_key', 'mb_order' );
$query->set( 'order', 'ASC' );
}
}
add_action( 'pre_get_posts', 'memory_custom_post_order_sort' );

Trong đó:

  • 'pre_get_posts': là hook thực hiện trước khi lấy bài viết
  • Phải kiểm tra hàm is_home() để hàm này chỉ thực hiện ở trang chủ thôi
  • $query->set( 'orderby', 'meta_value' );
    $query->set( 'meta_key', 'text_xkagpyy2ldp' );
    $query->set( 'order', 'ASC' );
    3 dòng này để sắp xếp tăng dần theo giá trị của field có id là 'mb_order'. Ở đây hãy thay mb_order bằng ID của field bạn vừa tạo.
    ‘ASC’: sắp xếp bài đăng theo thứ tự vừa tạo tăng dần.

Sau khi lưu code, hãy ra ngoài trang chủ xem kết quả nhé. Bạn đã thấy bài đăng được xếp đúng như mong muốn rồi đó.

Lời cuối

Thay vì ngồi thay đổi ngày đăng bài để sắp xếp bài viết hết sức vất vả thì giờ đây, bạn chỉ cần vài thao tác đơn giản với sự trợ giúp của plugin Meta Box extension Meta Box Builder. Kể cả khi bạn không phải là dân chuyên code thì các thao tác trên cũng không làm khó bạn được đúng không?

Để lại bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *