快速Wordpress问题。
我想显示我的类别中的最后30个帖子"照片",但只显示相关页面上的精选图片作为链接,将用户带到实际帖子。
我设法做到了这一点,但它显示了所有类别的帖子,而不是"照片"类别。代码I使用的是在下面。
我确定它很简单,但我很想知道如何仅显示照片类别中的近期帖子(作为精选图片)。
由于
<!-- In functions.php -->
function recentPosts() {
$rPosts = new WP_Query();
$rPosts->query('showposts=100');
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(); ?>
&#13;
答案 0 :(得分:1)
只需将类别选择添加到您的查询中即可。
<强>替换强>
$rPosts = new WP_Query();
$rPosts->query('showposts=100');
。通过强>
$rPosts = new WP_Query('category_name=photos&showposts=100');
参考:http://codex.wordpress.org/The_Loop#Exclude_Posts_From_Some_Category
答案 1 :(得分:0)
您需要通过提供类别ID 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(); ?>
答案 2 :(得分:0)
将类别ID添加到查询参数中。顺便说一下,最后一行的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(); ?>