2015-03-03 5 views
0

Быстрый Wordpress вопрос.Wordpress последние сообщения Лучшее изображение из категории

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

Мне удалось это сделать, но на нем отображаются сообщения из всех категорий, а не категория «фотографии». Код, который я использую, приведен ниже.

Я уверен, что это просто, но хотелось бы знать, как отображать только последние сообщения только из категории фотографий (как показано на рисунке).

Благодаря

<!-- In functions.php --> 
 
function recentPosts() { 
 
\t $rPosts = new WP_Query(); 
 
\t $rPosts->query('showposts=100'); 
 
\t \t while ($rPosts->have_posts()) : $rPosts->the_post(); ?> 
 
\t \t <div class="photos"> 
 
\t \t \t <li class="recent"> 
 
\t \t \t \t <a href="<?php the_permalink();?>"><?php the_post_thumbnail('recent-thumbnails'); ?></a> 
 
\t \t \t </li> \t 
 
\t \t </div> 
 
\t \t <?php endwhile; 
 
\t wp_reset_query(); 
 
} 
 

 

 
<!-- this is on the page template --> 
 
<?php echo recentPosts(); ?>

ответ

0

Вы должны предоставить аргумент цикла, который вы хотите опубликовать только определенной категории, предоставляя идентификатор категории cat=1. Заменить 1 с идентификатором вашего photos category

<!-- In functions.php --> 
function recentPosts() { 
    $rPosts = new WP_Query(); 
    $rPosts->query('showposts=100&cat=1'); 
     while ($rPosts->have_posts()) : $rPosts->the_post(); ?> 
     <div class="photos"> 
      <li class="recent"> 
       <a href="<?php the_permalink();?>"><?php the_post_thumbnail('recent-thumbnails'); ?></a> 
      </li> 
     </div> 
     <?php endwhile; 
    wp_reset_query(); 
} 


<!-- this is on the page template --> 
<?php echo recentPosts(); ?> 
0

Добавьте идентификатор категории для ваших параметров запроса. echo на последней строке избыточно. Ваша функция выводит HTML напрямую, а не возвращает его.

И, наконец, ваша первоначальная разметка недействительна. Ли не может быть дочерним элементом div, поэтому я исправил это в моем примере.

function recentPosts() { 
    $rPosts = new WP_Query(array(
     'posts_per_page' => 30, 
     'cat'   => 1 
     'no_found_rows' => true // more efficient way to perform query that doesn't require pagination. 
    )); 

    if ($rPosts->have_posts()) : 
     echo '<ul class="photos">'; 

     while ($rPosts->have_posts()) : $rPosts->the_post(); ?> 
      <li class="recent"> 
       <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('recent-thumbnails'); ?></a> 
      </li> 
     <?php endwhile; 

     echo '</ul>'; 
    endif; 

    // Restore global $post. 
    wp_reset_postdata(); 
} 


<!-- this is on the page template --> 
<?php recentPosts(); ?> 
Смежные вопросы