اجبار برای وجود تصویر شاخص در نوشته ها

اجبار برای وجود تصویر شاخص در نوشته ها

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

function snippets_check_thumbnail( $post_id ) {
    if( get_post_type( $post_id ) != 'post' )
        return;
    if ( !has_post_thumbnail( $post_id ) ) {
        set_transient( 'has_post_thumbnail', 'no' );
        remove_action( 'save_post', 'wpds_check_thumbnail' );
        wp_update_post( array( 'ID' => $post_id, 'post_status' => 'draft' ));
        add_action( 'save_post', 'wpds_check_thumbnail' );
    } else {
        delete_transient( 'has_post_thumbnail' );
    }
}
add_action( 'save_post', 'snippets_check_thumbnail' );

function snippets_thumbnail_error() {
    if ( get_transient( "has_post_thumbnail" ) == "no" ) {
        echo "<div id='message' class='error'><p><strong>شما باید تصویر شاخصی برای نوشته انتخاب کنید. در غیر این صورت نوشته منتشر نمی شود و پیش نویس خواهد شد.</strong></p></div>";
        delete_transient( 'has_post_thumbnail' );
    }
}
add_action( 'admin_notices', 'snippets_thumbnail_error' );

اگر بخواهید که از قطعه کد بالا برای post type های دیگر هم استفاده کنید کافی است شرط خط 2 را تغییر دهید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *