hoseyn sahebi 27 تیر 1395 بدون نظر 22 بازدید آموزش طراحی سایت

تصویر شاخص یکی از بخش‌های مهم تشکیل دهنده‌ی پست‌ها است. اگر می‌خواهید همه‌ی پست‌های شما قبل از انتشار حتماً تصویر شاخص داشته باشند، اسنیپت زیر را به فایل functions.php قالب وردپرس خود اضافه کنید. با انجام این کار اگر زمانی قصد ارسال پستی را داشته باشید اما برای آن تصویر شاخصی انتخاب نکرده باشید با پیام زیر روبرو می‌شوید:

«باید یک تصویر شاخص انتخاب کنید. پست شما ذخیره شده است اما نمی‌توانید آن را منتشر کنید.»

با این روش مطمئن خواهید شد که همه‌ی پست‌های شما پیش از انتشار حتماً تصویر شاخص داشته باشند.

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>You must select Featured Image. Your Post is saved but it can not be published.</strong></p></div>";
        delete_transient( "has_post_thumbnail" );
    }
}

نظرات کاربران (0)