נאמר ואתם רוצים להשתמש באפשרות התמונה הראשית (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>';
}