جلوگیری از انتشار مطالب بدون تصویر شاخص در وردپرس

جلوگیری از انتشار مطالب بدون تصویر شاخص در وردپرس

تصویر شاخص برای بسیاری از وب سایت های وردپرسی ، یکی از بخش های جدا نشدنی مطالب است ، این تصاویر علاوه بر زیبایی باعث جذب بیشتر بازدید کنندگان و جلب توجه آن ها به مطالب می شود . برای بسیاری از ما پیش آمده که فراموش می کنیم برای بعضی از مطالب تصویر شاخص را قرار دهیم . در این مطلب روشی را به شما معرفی می کنیم که توسط آن ، اگر یک مطلب تصویر شاخص نداشت از انتشار آن جلوگیری شده و مطلب به صورت پیش نویس ذخیره شود .

برای این کار کافی است کد زیر را در فایل 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>برای انتشار مطلب در سایت باید یک تصویر شاخص برای آن قرار دهید ، این مطلب به صورت پیشنویس ذخیره شده است و در سایت قابل رویت نیست .</strong></p></div>";
        delete_transient( "has_post_thumbnail" );
    }
}
10 پاسخ
  1. وحید محمدی
    وحید محمدی says:

    سلام چجوری میتونم یه متنی رو بالای قسمت افزودن نوشته اضافه کنم؟ دقیقا مثل همین کدی که دادید که یه متن اون بالا اضافه میکنه منم میخوام یه متن بالا اضافه کنم

    پاسخ
    • امیر
      امیر says:

      با سلام
      می تونید از کد زیر استفاده کنید :

      add_action( 'admin_notices', 'my_admin_notice' );
      function my_admin_notice(){
           global $current_screen;
           if ( $current_screen->parent_base == 'edit' )
                echo '<div><p>پیغام شما در این قسمت</p></div>';
      }

      توجه کنید که این کد رو تست نکردم ، تست کنید ببینید کار می کنه …
      موفق باشید

      پاسخ
  2. وحید
    وحید says:

    سلام من چه جوری از درگ کردن عکس های وبلاگم جلوگیری کنم یعنی کسی نتونه عکس های وبلاگم رو با موس بکشه رو صفحه کامبیوترش

    پاسخ
    • امیر عربی
      امیر عربی says:

      سلام ، می تونید از CSS استفاده کنید ، فقط باید تصاویرتون یه کلاس مشترک داشته باشن ، به عنوان مثال کد زیر رو تست کنید :

      img {
        pointer-events: none;
      }
      پاسخ
  3. وحید
    وحید says:

    سلام ببخشید دوباره مزاحمتون شدم میشه یکمی ساده تر توضیح بدید درباره جلوگیری ازدرگ عکس ها.این کد رو کجای وبلاگم وچه جوری قرار بدم چون من زیاد سردر نمیارم…..ممنونم ان شاالله همیشه سلامت باشید.

    پاسخ
    • امیر عربی
      امیر عربی says:

      سلام
      راستش ساده تر از این نمیشه ، ابن کدی که دادم CSS هستش و باید توی فایل CSS قالبتون یا توی هدر سایت تون قرار بگیره ، اگه آدرس وبلاگتون رو بهم بدید راحت تر می تونم راهنماییتون کنم

      پاسخ
    • امیر عربی
      امیر عربی says:

      سلام
      وبلاگتون به نظر میرسه که تعطیل شده ، اگه خواستید یه سایت حرفه ای بزنید که دیگه این دردسرا رو نداشته باشید بهم بگید تا راهنماییتون کنم …

      پاسخ
  4. خیرخواه
    خیرخواه says:

    سلام خدمت شما دوستان
    چند روزیست که در پائین وب سایت من یک منوی خورد تبلیغاتی از وردپرس میاد که نمی دونم چه جوری غیر فعالش کنم و یا کدش را پیدا کنم تغیرش بدهم
    اگر امکان داره راهنمائی ام کنید
    ممنونم
    خیرخواه

    پاسخ
    • امیر عربی
      امیر عربی says:

      سلام
      اگه درست متوجه منظور شما شده باشم ، کد زیر مشکلتون رو حل می کنه .

      #infinite-footer .container {
          display: none;
      }

      این کد رو توی فایل STYLE.CSS قالب قرار بدید .

      پاسخ

دیدگاه خود را ثبت کنید

مطلب خاصی فکرتان را مشغول کرده است ؟
آن را با ما در میان بگذارید !

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

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