קבלת התמונה הראשונה של הפוסט

נאמר ואתם רוצים להשתמש באפשרות התמונה הראשית (post thumbnail) שוורדפרס מספקת, אך יש לכם ארכיון כלשהו עם המון פוסטים וייקח לכם המון זמן להוסיף את אותה תמונה ראשית לכל אחד מאותם פוסטים.

אז לפוסטים חדשים ניתן להשתמש בתמונה הראשית בצורה סטנדרטית, אך לפוסטים ישנים אתם מעוניינים להשתמש בתמונה הראשונה שמופיעה בתוכןהפוסט כתמונה הראשית, או תמונה כלשהי דיפולטיבית אם לא קיימות תמונות בתוכן הפוסט הספציפי. הוסיפו את הקוד הבא לקובץ 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)) {
    $first_img = "/path/to/default.png";
  }
  return $first_img;
}

ובכדי להשתמש בזה בתוך הלולאה של וורדפרס:

if ( get_the_post_thumbnail($post_id) != '' ) {

  echo '<a href="'; the_permalink(); echo '" class="thumbnail-wrapper">';
   the_post_thumbnail();
  echo '</a>';

} else {

 echo '<a href="'; the_permalink(); echo '" class="thumbnail-wrapper">';
 echo '<img src="';
 echo catch_that_image();
 echo '" alt="" />';
 echo '</a>';

}
מצאתם טעות בקוד? הסניפט לא עובד לכם? רישמו לי בתגובות ואני מבטיח לטפל בכך במהרה ולספק סניפט תקין...
0תגובות...

השאירו תגובה

 

Up!
לבלוג