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

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

function catch_that_image() {
  global $post, $posts;
  $first_img = '';
  ob_start();
  ob_end_clean();
  $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
  $first_img = $matches [1] [0];

  if(empty($first_img)){ //Defines a default image
    $first_img = "/images/default.jpg";
  }
  return $first_img;
}

و سپس درون قالب خودتون با استفاده از دستور

<?php echo catch_that_image() ?>

اونو فراخوانی کنید!
به همین سادگی!

نکته: مقدار بازگشتی این دستور آدرس تصویر هستش. پس قائدتا باید اونو درون یک تگ img قرار بدید.

نظرات و دیگر موارد
اگر این قالب را دوست دارید امتیاز دهید :
2 دیدگاه نوشته شده است! می توانید دیدگاه خود را بنویسید

  1. سلام

    وقتی کد ور میزارم این خطار رو می ده

    Fatal error: Cannot redeclare catch_that_image() (previously declared in C:\wamp\www\wordpress\wp-content\themes\takide\functions.php:1) in C:\wamp\www\wordpress\wp-content\themes\takide\functions.php on line 43

    پاسخ شما:
    هک رو به شخصه روی لوکال آزمایش کردم. مشکلی وجود نداشت.

  2. جالب بود

    پاسخ شما:
    سپاس گذاریم. انشالله همین روند رو ادامه خواهیم داد.