Các bài viết trên blog thường được mình viết sẵn 1 loạt rồi sẽ được lên lịch xuất bản trong những ngày kế tiếp. Khi sử dụng cách này, ngày chỉnh sửa bài viết (post_modified) sẽ khác với ngày đăng bài viết (post_date). Ví dụ: mình viết xong bài vào ngày 23/04/2025 và chỉnh cho nó xuất bản vào ngày 25/05/2025, post_modified sẽ lưu lại ngày 23/04/2025 còn post_date sẽ là 25/05/2025.

Với đa số các blog hiển thị danh sách bài viết theo thứ tự ngày đăng mới nhất trước (theo thứ tự post_date) sẽ gặp vấn đề gì cả. Nhưng với blog của mình, các bài viết đang được sắp xếp hiển thị theo thứ tự ngày chỉnh sửa cuối cùng trước (theo thứ tự post_modified), nên trong nhiều trường hợp bài viết mới đăng (được lên lịch trước đó) lại bị xếp sau các bài viết cũ hơn, nhưng đã được chỉnh sửa trong thời gian chờ bài viết mới kia được đăng. Việc này làm mất đi mục tiêu nổi bật bài mới nhất, nhất là đối với những bạn thường xuyên vào blog hóng bài mới.

Cách khắc phục: Cập nhật ngày chỉnh sửa (post_modifie) khi bài viết được đăng

Sử dụng đoạn mã sau để tự động cập nhật lại ngày chỉnh sửa (modified_date) trùng với ngày đăng (publish_date) khi bài viết được đăng theo lịch.

Mình thêm đoạn sau vào file functions.php trong theme, hoặc sử dụng Code Snippets plugin để dễ quản lý các đoạn mã tùy biến

function sync_modified_date_with_publish_date( $post_ID ) {
    $post = get_post( $post_ID );

    if ( $post->post_date_gmt > $post->post_modified_gmt ) {
        global $wpdb;

        $wpdb->update(
            $wpdb->posts,
            array(
                'post_modified'     => $post->post_date,
                'post_modified_gmt' => $post->post_date_gmt,
            ),
            array( 'ID' => $post_ID )
        );

        clean_post_cache( $post_ID );
    }
}
add_action( 'publish_post', 'sync_modified_date_with_publish_date' );Code language: PHP (php)

Vậy là yên tâm mỗi khi hẹn giờ đăng bài viết mới, ngày chỉnh sửa sẽ được cập nhật lại giống ngày được đăng. Nhờ vậy mà bài viết mới nhất luôn được hiển thị ở trên cùng, không bị chèn ép ra sau nữa.

Nếu bạn cần hỗ trợ kỹ thuật miễn phí, vui lòng gửi câu hỏi trực tiếp ở phần Thảo luận bên dưới, mình sẽ trả lời trong thời gian sớm nhất.

Để lại một 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 *


Bạn cần hỗ trợ kỹ thuật chuyên sâu?

Khám phá các gói dịch vụ giúp bạn tối ưu công việc và vận hành hệ thống hiệu quả hơn. Từ chăm sóc website đến hỗ trợ kỹ thuật, mọi thứ đều linh hoạt và phù hợp với nhu cầu của bạn.