معرفی یک تابع کاربردی برای نمایش تصویر شاخص در قالب وردپرس

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

عدم انتخاب تصویر شاخص در وردپرس

اما برای حل این مشکل می توانید اقدامات زیر را انجام دهید:

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

تابع زیر اینکار را برای شما انجام می دهد، در ابتدا وجود یا عدم وجود تصویر شاخص را با تابع has_post_thumbnail بررسی می کنیم، اگر کاربر آن را ست کرده باشد کار تمام است، در غیر این صورت توسط توابع get_children و wp_get_attachment_url اولین تصویر استفاده شده در داخل محتوا را انتخاب می کنیم.

اگر هیچکدام از شرایط بالا برقرار نباشد آنگاه تصویر پیش فرض No Image موجود در قالب سایت را نشان می دهیم.

function my_Set_featured_image(){
    $featured_url = '';
    
    if ( has_post_thumbnail() ) {
        $featured_url = get_the_post_thumbnail_url( get_the_ID() );
    } else {
        
        $attachment = get_children(
            array(
                'post_parent' => get_the_ID(),
                'post_type' => 'attachment',
                'post_mime_type' => 'image',
                'order' => 'DESC',
                'numberposts' => 1
            ));
        
        if ( is_array( $attachment ) || !empty( $attachment ) ) {
            $attachment = current( $attachment );
            $featured_url = wp_get_attachment_url( $attachment->ID, 'full' );
        }
    }
    
    if ( empty( $featured_url ) ) {
        $featured_url = get_template_directory_uri() . '/img/no-image.png';
    }
    
    return $featured_url;
}

 

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

<?php
        while ( have_posts() ) {
            the_post();
?>
        <a href="<?php the_permalink(); ?>">
          <img src="<?php echo my_Set_featured_image(); ?>">
        </a>
<?php
	}
?>

 

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

نظرات و سوالات کاربران

پاسخی بگذارید

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