GpewHuk
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Доброго времени суток! Сложилась такая ситуация, нужно было вывести первую картинку поста, как миниатюру к записи, погуглив, я сделал это вот таким кодом в файле functions.php Код: //ВЫВОД ПЕРВОЙ КАРТИНКИ С ПОСТА function first_post_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 = "/wp-content/themes/НАЗВАНИЕТЕМЫ/images/noimages.jpg"; // УКАЖИТЕ ПУТЬ К ИЗОБРАЖЕНИЮ, КОТОРОЕ БУДЕТ ВЫВОДИТСЯ ПО УМОЛЧАНИЮ. } return $first_img; } | вывод осуществляеться вставкой кода в нужную часть шаблона, вот таким образом Код: <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"> <img src="<?php echo first_post_image() ?>" alt="<?php the_title(); ?>" /> </a> | Тут все прошло без проблем. Далее появилась идея поставить YARPP и выводить первую картинку поста, как миниатюру. По пути /wp-content/plugins/yet-another-related-posts-plugin/includes нарыл вот такой файл template_thumbnails.php а в нем код Код: if (have_posts()) { $output .= '<div class="yarpp-thumbnails-horizontal">' . "\n"; while (have_posts()) { the_post(); $output .= "<a class='yarpp-thumbnail' href='" . get_permalink() . "' title='" . the_title_attribute('echo=0') . "'>" . "\n"; $post_thumbnail_html = ''; if ( has_post_thumbnail() ) { if ( $this->diagnostic_generate_thumbnails() ) $this->ensure_resized_post_thumbnail( get_the_ID(), $dimensions ); $post_thumbnail_html = get_the_post_thumbnail( null, $dimensions['size'] ); } if ( trim($post_thumbnail_html) != '' ) $output .= $post_thumbnail_html; else $output .= '<span class="yarpp-thumbnail-default"><img src="' . esc_url($thumbnails_default) . '"/></span>'; $output .= '<span class="yarpp-thumbnail-title">' . get_the_title() . '</span>'; $output .= '</a>' . "\n"; } $output .= "</div>\n"; } else { $output .= $no_results; } $this->enqueue_thumbnails( $dimensions ); | Я так понял, что вот эта часть кода Код: if ( trim($post_thumbnail_html) != '' ) $output .= $post_thumbnail_html; else $output .= '<span class="yarpp-thumbnail-default"><img src="' . esc_url($thumbnails_default) . '"/></span>'; | отвечает за вывод альтернативной картинки, если нет миниатюры. Но как в нее вставить код вывода Код: <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"> <img src="<?php echo first_post_image() ?>" alt="<?php the_title(); ?>" /> </a> | я не понимаю( Если у кого то есть время и желание помочь, заранее спасибо! P.S Ясное дело я гуглил, смотрел форумы, но так и не смог найти - Как первую картинку поста, сделать миниатюрой YARPP | Всего записей: 139 | Зарегистр. 21-11-2007 | Отправлено: 01:27 13-03-2019 | Исправлено: GpewHuk, 01:30 13-03-2019 |
|