Yêu cầu Featured Image trước khi xuất bản bài viết trong WordPress

20/02/2014

featured-images-category

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 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', 'wpds_check_thumbnail');
add_action('admin_notices', 'wpds_thumbnail_error');
function wpds_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', 'wpds_check_thumbnail');
        // update the post set it to draft
        wp_update_post(array('ID' => $post_id, 'post_status' => 'draft'));
        add_action('save_post', 'wpds_check_thumbnail');
    } else {
        delete_transient( "has_post_thumbnail" );
    }
}
function wpds_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 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 hoàn hảo phải không các bạn.

Chuyên Mục:

Bài viết được đăng bởi webmaster

Nếu các bạn thấy bài viết hữu ích thì giúp mình Like cái nhé !