我正在使用WordPress 3.8。我想查询特定类别的帖子。为此, 我使用了以下代码
<?php query_posts('post_type=post&category_id=3&post_status=publish&posts_per_page=10&paged='. get_query_var('paged')); ?>
<?php if(have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<h2><?php the_title(); ?></h2>
<p><?php the_content(); ?></p>
<?php endwhile; ?>
<?php endif; ?>
我得到所有帖子, 而不是特定类别。此代码有什么问题。
#1
category_id = 3应该只是cat = 3
<?php query_posts('post_type=post&cat=3&post_status=publish&posts_per_page=10&paged='. get_query_var('paged')); ?>
<?php if(have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<h2><?php the_title(); ?></h2>
<p><?php the_content(); ?></p>
<?php endwhile; ?>
<?php endif; ?>
#2
通常, 避免使用query_posts, 因为它会更改主循环内的全局变量。你可以使用get_posts():
<?php
$args = array( 'posts_per_page' => 5, 'offset'=> 1, 'category' => 1 );
$myposts = get_posts( $args );
foreach ( $myposts as $post ) : setup_postdata( $post ); ?>
<h2><?php the_title(); ?></h2>
<p><?php the_content(); ?></p>
<?php endforeach;
wp_reset_postdata();?>
假设1是类别的ID(请查看你要从数据库中获取的类别的ID)
在这里你将找到更多信息
评论前必须登录!
注册