возникли проблемы с получением точного изображения - PullRequest
2 голосов
/ 15 августа 2011

Теперь я попробовал некоторые другие способы ....

<?php /* Start popular Post */ ?>   
    <li>
        <h3>Popular Posts</h3>
        <ul class="bullets">
        <?php
          $args = array( 'numberposts' => 5 );
          $thumbnails = get_posts($args);
          foreach ($thumbnails as $thumbnail) {
            if ( has_post_thumbnail($thumbnail->ID)) {
              echo '<a href="' . get_permalink( $thumbnail->ID ) . '" title="' . esc_attr( $thumbnail->post_title ) . '">';
              echo get_the_post_thumbnail($thumbnail->ID, 'thumbnail');
              echo '</a>';
            }
          }
        ?>

        </ul>
    </li>
<?php /* End popular Post */ ?>

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

.....

возникли проблемы с популярным сообщением ...

<?php /* Start popular Post */ ?>   
    <li>
        <h3>Popular Posts</h3>
        <ul class="bullets">
        <?php
            $popular_posts = $wpdb->get_results("SELECT id,post_title FROM {$wpdb->prefix}posts ORDER BY comment_count DESC LIMIT 0,3");
                foreach($popular_posts as $pop) {
                    if ( has_post_thumbnail($pop->ID) ) {
        ?>
            <li>
        <?php   the_post_thumbnail(array(100,100)); ?>
            </li>
        <?php
                    }
                }
        ?>
        </ul>
    </li>
<?php /* End popular Post */ ?>

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

помогите мне разобраться в этом

Ответы [ 2 ]

2 голосов
/ 15 августа 2011

Попробуйте использовать get_the_post_thumbnail( $id, $size, $attr ) и введите идентификатор сообщения.Также обратите внимание, что вы должны указать в своем запросе post_type = 'post', чтобы отфильтровать не-сообщения.

Документация: http://codex.wordpress.org/Function_Reference/get_the_post_thumbnail

-

Я локально подтвердил, чтоследующие работы:

// Query should select only posts, order by comment_count descending
$p_posts_query = "SELECT ID, post_title 
                  FROM wp_posts 
                  WHERE post_type = 'post' 
                  ORDER BY comment_count DESC";

// Load results of our query into variable $p_posts
$p_posts = $wpdb->get_results($p_posts_query); 

// Cycle through each result
foreach ( $popular_posts as $pop ) {

    // If there is a thumbnail associated with this post
    if ( has_post_thumbnail( $pop->ID ) ) {

      // Show the thumbnail for this post
      echo get_the_post_thumbnail( $pop->ID );

    }

}
0 голосов
/ 15 августа 2011

Функция the_post_thumbnail () извлекает миниатюру поста текущего поста в цикле. Чтобы получить миниатюру сообщения с любым идентификатором сообщения, используйте это:

http://codex.wordpress.org/Function_Reference/get_the_post_thumbnail

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...