如何在WordPress主页中循环来自特定类别的帖子

时间:2015-01-29 08:10:47

标签: wordpress

如果我想从WordPress的index.php中的特定类别循环3个帖子而不是我要做的事情?

<?php if ( have_posts() ) : ?>

<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>

<?php
get_template_part( 'content', get_post_format() );
?>

<?php endwhile; ?>

<?php the_posts_navigation(); ?>

<?php else : ?>

<?php get_template_part( 'content', 'none' ); ?>

<?php endif; ?>

我想在<?php get_template_part( 'content', 'none' ); ?>

之前的某个类别中发布3个帖子

2 个答案:

答案 0 :(得分:2)

试试这个

 $args = array(
     'cat' => <your category ID>,
     'posts_per_page' => 3
 );
 $the_query = new WP_Query( $args );

 // The Loop
 if ( $the_query->have_posts() ) {

    while ( $the_query->have_posts() ) {

        // ## write your code here..
    }
 }

您必须输入类别ID。 如果您有类别名称,请使用:

$args = array(
    'category_name' => 
);

有关详细信息,请查看以下内容: http://codex.wordpress.org/Class_Reference/WP_Query#Category_Parameters

答案 1 :(得分:1)

您可以使用pre_get_posts更改主要查询,以便从主页中的特定类别中获得3个帖子。将以下内容添加到functions.php中,并确保在适当的位置添加类别ID

add_action( 'pre_get_posts', function ( $q ) {

    if( $q->is_home() && $q->is_main_query() ) {

        $q->set( 'cat', CATEGORY_ID );
        $q->set( 'posts_per_page', 3 );

    }

});