سایتتون رو طراحی کردید و در اون از تصاویر شاخص هم استفاده کردید . خیلی زحمت هم کشیدید ! خب حالا وقت تحویل مشتری دادنه . یه سری اطلاعات پیش فرض هم براش می ذارید تا هنرتون مشخص بشه . چند وقتی می گذره و دوباره یه سری به سایت مشتریتون می زنید . اما خدا اون روز رو نیاره 🙂 مشتریتون حوصله عکس گذاشتن نداشته یا اینکه فراموش کرده . برای همین یه سری از نوشته ها عکس داره و یه سری نداره . اونوقته که قالب سایت به کلی به هم ریخته !!!
شرایط خیلی سختیه نه ! یه چیزی در حد کشتار مردم بی گناه در میانمار 🙂 خب نه در اون حد ولی سخته . برای این که این اتفاق نیفته می تونید از کد زیر استفاده کنید . این کد باعث میشه که هیچ نوشته ای بدون تصویر ارسال نشه و به صورت پیش نویس ذخیره میشه و به کاربر هم یه پیغام میده که تصویر شاخص رو فراموش کرده . جالبه نه ؟
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>نوشته شما ذخیره شد اما تا وقتی که تصویر شاخص برای آن انتخاب ننمایید ارسال نخواهد شد</strong></p></div>";
delete_transient( "has_post_thumbnail" );
}
}

