Thông thường, lúc chuẩn bị xuất bản bài viết (publish post), chúng ta có thể chèn hoặc không chèn hình làm ảnh đại diện cho bài viết đó (Featured Image).

Tuy nhiên nếu vì một lý do nào đó mà các bạn luôn muốn tác giả phải chọn ảnh đại diện (Featured Image) trước khi xuất bản bài viết thì chỉ việc copy đoạn code bên dưới và dán nó vào file functions.php là xong.

add_action('save_post', 'tapchicntt_check_thumbnail');
add_action('admin_notices', 'tapchicntt_thumbnail_error');
function tapchicntt_check_thumbnail($post_id) {
    // change to any custom post type
    if(get_post_type($post_id) != 'post')
        return;
    if ( !has_post_thumbnail( $post_id ) ) {
        // set a transient to show the users an admin message
        set_transient( "has_post_thumbnail", "no" );
        // unhook this function so it doesn't loop infinitely
        remove_action('save_post', 'tapchicntt_check_thumbnail');
        // update the post set it to draft
        wp_update_post(array('ID' => $post_id, 'post_status' => 'draft'));
        add_action('save_post', 'tapchicntt_check_thumbnail');
    } else {
        delete_transient( "has_post_thumbnail" );
    }
}
function tapchicntt_thumbnail_error()
{
    // check if the transient is set, and display the error message
    if ( get_transient( "has_post_thumbnail" ) == "no" ) {
        echo "<div id='message' class='error'><p><strong>Bạn phải chọn Featured Image. Bài viết của bạn được lưu nhưng sẽ không thể xuất bản.</strong></p></div>";
        delete_transient( "has_post_thumbnail" );
    }
}

Và bây giờ mỗi khi tác giả nhấn nút “Publish” để xuất bản mà chưa chọn ảnh đại diện (Featured Image) thì sẽ xuất hiện thông báo “Bạn phải chọn Featured Image. Bài viết của bạn được lưu nhưng sẽ không thể xuất bản.“.

Rất tuyệt phải không các bạn.

Recent posts

Hóa ra “đường link màu tím” trên Chrome không chỉ là tính năng, nó còn là lỗ hổng bảo mật 16 năm tuổi

Hóa ra “đường link màu tím” trên Chrome không chỉ là tính năng, nó còn là lỗ hổng bảo mật 16 năm tuổi

Chỉ mới đây thôi, Google phát hành bản vá cho một lỗ hổng nghiêm trọng trong trình duyệt Chrome đã […]

[WordPress] Hướng dẫn sử dụng wp_admin_notice()

[WordPress] Hướng dẫn sử dụng wp_admin_notice()

Hàm wp_admin_notice() được giới thiệu trong WordPress 6.4.0, cung cấp một cách tiêu chuẩn và dễ dàng hơn để hiển […]

[WordPress] Hướng dẫn cách sử dụng Hooks (Filters và Actions)

[WordPress] Hướng dẫn cách sử dụng Hooks (Filters và Actions)

Hooks (Filters và Actions) là một bước quan trọng để tùy chỉnh và mở rộng WordPress. Dưới đây là hướng […]

[WordPress] Hướng dẫn tạo nút upload media bằng wp_enqueue_media()

[WordPress] Hướng dẫn tạo nút upload media bằng wp_enqueue_media()

wp_enqueue_media() là một hàm WordPress mạnh mẽ cho phép bạn tích hợp trình tải lên và quản lý tệp phương tiện […]

Siri tiếng Việt trên iOS 18.4: Đã gọi được xe, chuyển tiền, kể chuyện

Siri tiếng Việt trên iOS 18.4: Đã gọi được xe, chuyển tiền, kể chuyện

Sau 15 năm, cuối cùng Siri cũng đã nói tiếng Việt, chính thức có mặt trên iOS 18.4. Không còn […]

© 2021 Tạp Chí CNTT. Mr Hoang