حذف تصویر شاخص در هنگام حذف پست

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

برای این کار وردپرس راهکاری بسیار زیبا در اختیار توسعه دهندگان قرار داده است راه کاری که نام آن را Hook گذاشته است از این رو نیاز داریم که امروز یک هوک به وردپرس اضافه کنیم این هوک در زمان حذف یک پست اتفاق می افتد و هر دستوری که در آن نوشته باشیم عملیاتی خواهد شد. به کد زیر توجه کنید:

 

add_action( 'before_delete_post', 'wps_remove_attachment_with_post', 10 );
function wps_remove_attachment_with_post($post_id)
{
        if(has_post_thumbnail( $post_id ))
        {
          $attachment_id = get_post_thumbnail_id( $post_id );
          wp_delete_attachment($attachment_id, true);
        }
}

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

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

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