Intereting Posts
Настройка Word press Admin – добавление функциональных возможностей страницы на другую аналогичную страницу Создан пользовательский тип сообщения, но выбранный шаблон не остался выбранным. Проверьте, имеет ли элемент заказа WooCommerce определенный ключ метаданных Включение бесплатной доставки в Woo Commerce по отдельным товарам Удалите встроенный вход в WordPress и используйте только google auth Как включить изображение в сообщение в блоге, чтобы оно отображалось в Facebook? Ссылки боковой панели для разных страниц Создать список сообщений с заголовками тем Термин таксономии запроса 1 исключает другой Сохраните исходное имя изображения при изменении размера Детские темы Проблемы с приоритетом CSS без использования! Important Почему нет изображений в новой установке WordPress? получить множественное число типа сообщения прокрутите scrpit до определенной позиции кнопки до следующего идентификатора, когда нажмите кнопку разгружать носители для внешних служб

Проблема, когда WP Featured Image не будет отображаться

Код, который я использую, находится вне WordPress, т.е.

define('WP_USE_THEMES', false); require('blog/wp-blog-header.php'); global $wpdb; 

Код, который я пытаюсь отобразить миниатюру сообщения (установленное изображение):

 if(has_post_thumbnail($post->ID)){ echo "has a thumb"; get_the_post_thumbnail(); the_post_thumbnail(); the_post_thumbnail('medium'); wp_get_attachment_image_src(get_post_thumbnail_id()); wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID )); } else { echo "no thumb"; } 

Теперь он правильно отображает, если есть большой палец или нет, но не возвращает имя файла большого пальца или что-либо вообще. Я пробовал все методы, которые мог найти, и ничего не возвращается, и никаких ошибок не было.

Предложения, мысли?

Давайте рассмотрим различия между рабочим и нерабочим кодом:

  • Работа : has_post_thumbnail( $post->ID )
  • Не работает : get_the_post_thumbnail();

Единственное различие, которое я вижу, заключается в том, что вы явно $postID в рабочую функцию и не передаете ее нерабочей функции. Итак, попробуйте следующее:

 get_the_post_thumbnail( $post->ID, 'medium' ); 

Вы можете var_dump() или echo его, чтобы проверить, вернули ли вы верные данные.

get_the_post_thumbnail и wp_get_attachment_image_src возвращают свой результат, они не повторяют его.

В этом случае получить URL-адрес для заданного размера:

 $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ),'thumbnail'); $url = $image[0]; $width = $image[1]; $height = $image[2]; 

можно отметить, что размер эскиза будет использоваться, если ни один не указан, но я добавил его, чтобы быть точным

Если вам нужны дальнейшие разъяснения о том, что именно вернулось этими функциями, и хотите, чтобы что-то совершенно явное и откровенно очевидно, я бы предложил что-то вроде:

 $value = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID )); wp_die('<pre>'.print_r($value,true).'</pre>'); 

Хотя я бы рекомендовал вам использовать error_log а не wp_die и посмотреть на журнал ошибок в текстовом редакторе, поскольку wp_die не то, что вы хотите в производственном коде

отредактируйте: -_- отлаживайте все!

 ?> <pre> post ID : "<?php $post->ID; ?>"<br> has_post_thumbnail : "<?php if(has_post_thumbnail($post->ID)){ echo 'true'; }else {echo 'false'; } ?>"<br> thumb ID : "<?php get_post_thumbnail_id( $post->ID ); ?>"<br> thumb ID null? : "<?php if(get_post_thumbnail_id( $post->ID ) == null) { echo 'yes'; } else { echo 'no'; } ?>"<br> wp_get_attachment_image_src : "<?php print_r(wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID )),false)?>" </pre> <?php 

пытаться:

 echo '<img src="'.get_the_post_thumbnail().'" />';