نمایش نتایج: از شماره 1 تا 2 , از مجموع 2

موضوع: حذف اتوماتیک همه ی تصاویر پست پس از زمان مشخص

  1. #1
    عضو انجمن mgt1234 آواتار ها
    تاریخ عضویت
    Aug 2013
    نوشته ها
    260
    تشکر تشکر کرده 
    509
    تشکر تشکر شده 
    112
    تشکر شده در
    96 پست

    پیش فرض حذف اتوماتیک همه ی تصاویر پست پس از زمان مشخص

    سلام دوستان
    یه کد یا پلاگینی میخوام که بعد از یه مدت مشخص (مثلا 30 روز) تمامی تصاویر پستهای دسته بندی خاص رو حذف کنه
    اینکار برای خالی کردن فضای هاست انجام میشه چون اگه اینکار انجام نشه فضا سریعا پر میشه
    اگه خود پست هم پاک کنه مشکلی نیست چون روی پستایی که No Seo هستن میخوام اینکارو انجام بدم اما هرچی پلاگین پیدا کردم فقط پست رو پاک میکنن در صورتیکه هدف اصلی من پاک کردن تصاویر داخل پسته (برای خالی کردن فضای هاست)
    اگه راه حلی برای این مشکل دارید لطفا معرفی کنید.

    یه کد هم خودم پیدا کردم که نمیدونم دقیقا همینکارو انجام میده یا نه اما اگه کارش همینه لطفا یه category id بهش اضافه کنید که بتونم این عملیات رو روی دسته بندی خاص انجام بدم.
    سپاس

    کد:
    add_action( 'save_post', 'cleanup_old_post_images', 10, 3 );
    
    function cleanup_old_post_images( $post_ID, $post, $update ) {
      if ( $update ) return; // do nothing on update
      $postid51th = get51th_postid(); // see below
      if ( ! empty( $postid51th ) && is_numeric( $postid51th ) ) {
        delete_post_media( $postid51th ); // see below, function in OP
      }
    }
    
    function get51th_postid() {
      return $GLOBALS['wpdb']->get_var(
        "SELECT ID FROM " . $GLOBALS['wpdb']->posts .
        " WHERE post_type = 'post' AND post_status = 'publish' ORDER BY post_date DESC
        LIMIT 50, 1"
      ); 
    }
    
    function delete_post_media( $post_id ) {
      $attachments = get_posts( array(
        'post_type'      => 'attachment',
        'nopaging'       => TRUE,
        'post_parent'    => $post_id
      ) );
      if ( empty( $attachments ) ) return; // added this line to prevent errors
      foreach ( $attachments as $attachment ) {
        if ( false === wp_delete_attachment( $attachment->ID ) ) {
          // Log failure to delete attachment.
        }
      }
    }

  2. # ADS




     

  3. #2
    عضو دائم T.Toosi آواتار ها
    تاریخ عضویت
    Jun 2015
    نوشته ها
    1,071
    تشکر تشکر کرده 
    278
    تشکر تشکر شده 
    2,936
    تشکر شده در
    1,329 پست

    پیش فرض پاسخ : حذف اتوماتیک همه ی تصاویر پست پس از زمان مشخص

    کد:
    add_action( 'save_post', 'cleanup_old_post_images', 10, 3 );
    
    function cleanup_old_post_images( $post_ID, $post, $update ) {
      if ( $update ) return; // do nothing on update
      $postid51th = get51th_postid(111); // <----------- CAT ID
      if ( ! empty( $postid51th ) && is_numeric( $postid51th ) ) {
        delete_post_media( $postid51th ); // see below, function in OP
      }
    }
    
    function get51th_postid($catid) {
      return $GLOBALS['wpdb']->get_var(
        "SELECT ID
        FROM wp_posts
        LEFT JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id)
        LEFT JOIN wp_term_taxonomy ON (wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id)
        WHERE wp_term_taxonomy.term_id IN ({$catid})
        GROUP BY wp_posts.ID LIMIT 50, 1"
      ); 
    }
    
    function delete_post_media( $post_id ) {
      $attachments = get_posts( array(
        'post_type'      => 'attachment',
        'nopaging'       => TRUE,
        'post_parent'    => $post_id
      ) );
      if ( empty( $attachments ) ) return; // added this line to prevent errors
      foreach ( $attachments as $attachment ) {
        if ( false === wp_delete_attachment( $attachment->ID ) ) {
          // Log failure to delete attachment.
        }
      }
    }

  4. تعداد تشکر ها ازT.Toosi به دلیل پست مفید


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. خطای زیر در هنگام ارسال پست ویبولتین
    توسط P30Amin در انجمن vBulletin
    پاسخ ها: 0
    آخرين نوشته: May 17th, 2016, 17:52
  2. مشکل در ارسال پست در انجمن ویبولتین
    توسط Farzadtehran1390 در انجمن vBulletin
    پاسخ ها: 1
    آخرين نوشته: January 15th, 2016, 20:20
  3. پاسخ ها: 7
    آخرين نوشته: October 5th, 2014, 16:48

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •