我做了很多搜索,但似乎无法使用我的特定代码获得任何结果。我想知道如何才能使这个WordPress博客循环只显示183类的帖子。
<?php // Display blog posts on any page
$temp = $wp_query; $wp_query= null;
$wp_query = new WP_Query(); $wp_query->query('posts_per_page=10' .
'&paged='.$paged);
while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
答案 0 :(得分:1)
如果您不想包含该类别的任何子级,则您已经可以将添加到查询中的帖子限制为仅使用类别ID 183,如果您不希望包含该类别的任何子级:
$query = new WP_Query( array( 'category__in' => 183 ) );
或者像这样,如果你想包括这个类别的孩子:
$query = new WP_Query( array( 'cat' => 183 ) );
有关详细信息,请查看this。
答案 1 :(得分:0)
尝试以下示例,您可以从两个代码中获得结果。
<ul class="posts">
<?php query_posts('cat=5'); while (have_posts()) : the_post(); ?>
<li><a href='<?php the_permalink() ?>'><?php the_title(); ?></a></li>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
</ul>
&#13;
-------------或--------------
<?php
$current_cat_id = '10';
$showposts = 10;
$args = array('cat' => $current_cat_id, 'orderby' => 'post_date', 'order' => 'DESC', 'posts_per_page' => $showposts,'post_status' => 'publish');
query_posts($args);
if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="timeline">
<h3><?php the_title(); ?></h3>
<?php the_content();?>
<?php endwhile; else: ?>
<?php _e('No Posts Sorry.'); ?>
<?php endif; ?>
</div>
&#13;
答案 2 :(得分:0)
你可以这样做。
<?php // Display blog posts on any page
$temp = $wp_query; $wp_query= null;
$wp_query = new WP_Query( array('cat'=>183,'posts_per_page'=>10);
while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
答案 3 :(得分:0)
您在哪里添加了代码?您是否为博客创建了模板?
您最好在pre_get_posts上添加查询修改
而不是搞乱全球$wp_query
例如
function _modify_blog_query( $query ) {
// Run only on the blog page
if ( $query->is_home() && $query->is_main_query() ) {
// Additional Query here
$query->query_vars['cat'] = 183;
$query->query_vars['posts_per_page'] = 10;
}
}
// hook the the function on pre_get_posts
add_action( 'pre_get_posts', '_modify_blog_query' );