Как вывести первую картинку из поста если нет миниатюры?

Здравствуйте.  Скажите можно ли в вордпресс, в архиве, категории или на главной странице вывести миниатюру записи или страницы, но если ее нет вывести первую картинку из поста или страницы? У меня в моем блоге очень много записей но миниатюры я стал создавать только в последних. Теперь если выводить миниатюру то она не у всех записей выводится, поэтому нужно как то взять первую картинку.

Добавить Комментарий
Ответ

Для того что бы вывести первую картинку из поста в случае когда миниатюра не задана, сделайте следующее.
В файле 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 = "/images/default.jpg"; // Ссылка на заглушку
 }
 return $first_img;
 }
 

далее где у вас вывод миниатюры, вставьте следующий код(замените вашу функцию вывода миниатюры)

 if (has_post_thumbnail()) {
 $large_image_url = wp_get_attachment_image_src(get_post_thumbnail_id(), 'large');
 echo '<p class="sidebar_new_post_line"><a href="' . get_permalink($pst->ID) . '"><img class="newrecept" src="' . $large_image_url[0] . '" /></a></p>';
 } else {
 echo '<p class="sidebar_new_post_line"><a href="' . get_permalink($pst->ID) . '"><img class="newrecept" src="' . catch_that_image() . '" /></a></p>';
 }
 

Добавить Комментарий

«далее где у вас вывод миниатюры» — это что имеется в виду?

Имеется ввиду:
Открыть файл шаблона, где нужно вывести миниатюру или заменить вывод (например category.php).
И в этом файле, в месте, где вы хотите вывести миниатюру — добавить код.

в 22.09.2015.
Добавить Комментарий

и кстати вопрос относительно редактора в котором вводятся сообщения на этом сайте — через какой плагин добавляется иконка «загрузить изображение»?

Это не плагин, функционал встроен в шаблон.
[Прошу не писать сообщения и вопросы не по теме, в следующий раз такие сообщения будут удалены]

в 22.09.2015.
Добавить Комментарий

а также «поделиться в Соцсетях» и «Репорт», а вот «Редактировать сообщение» почему-то не работает кстати

Так же, функционал прописан в шаблоне.
Можете более точно указать где не работает кнопка «редактировать» и при каких условиях?

[Прошу не писать сообщения и вопросы не по теме, в следующий раз такие сообщения будут удалены]

в 22.09.2015.
Добавить Комментарий

Ваш ответ

Размещая свой ответ, вы соглашаетесь с правилами сайта.