Как я могу показать миниатюру Post из самого последнего типа пост в виджете?

wordpress.stackexchange https://wordpress.stackexchange.com/questions/5052

  •  16-10-2019
  •  | 
  •  

Вопрос

Я использую отличный Виджет кода PHP плагин, и хочу создать виджет, который отображает миниатюру Post (он же представлен изображение) для самого последнего поста «проекта». Вот код, который у меня есть до сих пор, но он не дает желаемый результат. Это на самом деле ничего не вызывает.

<?php
global $post;
$args = array(
    'post_type' => 'project',
    'posts_per_page' => 1,
    ); 
$thumbnails = get_posts($args);
foreach ($thumbnails as $post)
{
    setup_postdata($post);
        ?>
        <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail( 'thumbnail' ); ?></a>
        <?php 
        }

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

Это было полезно?

Решение

Переезд сюда, поэтому комментарии не превращаются в беспорядок.

В основном здесь есть две вещи:

  1. Получение постов. Проверь это $thumbnails получает правильный пост и только один. Я не уверен, что это проблема, но get_posts() Список документов numberposts аргумент вместо posts_per_page это перечислено для query_posts(). Анкет Это может иметь значение.

  2. Объединяется с глобальными переменными. Для этого использования я бы не стал касаться глобального $post вообще, напрямую или с setup_postdata() либо. Просто используйте не петлиные версии функций, которые могут извлекать вещи, которые вам нужны по идентификатору после пост - get_permalink() а также get_the_post_thumbnail().

Лицензировано под: CC-BY-SA с атрибуция
Не связан с wordpress.stackexchange
scroll top