包含特定类别帖子的博客页面

时间:2020-08-26 作者:Monika Kwiatkowska

我尝试创建具有特定类别(按ID)的博客页面,并仅显示该类别中的最新博客文章。我有这样的代码,但它只显示第一类。我有只显示一个类别的工作代码,但当我放入更多id时,它不工作

<?php
/**
 * Template Name: Porftfolio
 */
 
get_header(); ?>
 
<div id="primary" class="content-area">
    <main id="main" class="site-main" role="main">
 
    <?php
    
    $args = array(
        \'post_type\' => \'post\',
        \'post_status\' => \'publish\',
        \'cat\'   => \'187,186\',
        \'posts_per_page\' => 1,
    );
    $arr_posts = new WP_Query( $args );
 
    if ( $arr_posts->have_posts() ) :
 
        while ( $arr_posts->have_posts() ) :
            $arr_posts->the_post();
            ?>
            <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
                <?php
                if ( has_post_thumbnail() ) :
                    the_post_thumbnail();
                endif;
                ?>
                <header class="entry-header">
                    <h1 class="entry-title"><?php the_title(); ?></h1>
                </header>
                <div class="entry-content">
                   <a href> <?php the_permalink(); ?> </a>
                </div>
            </article>
            <?php
        endwhile;
    endif;
    ?>
 
    </main><!-- .site-main -->
</div><!-- .content-area -->
 
<?php get_footer(); ?>

2 个回复
最合适的回答,由SO网友:nikhil Hadvani 整理而成

请添加以下代码

$args = array(
    \'post_type\' => \'post\',
    \'post_status\' => \'publish\',
    \'category__and\'   => array( 2, 6 ),
    \'posts_per_page\' => 1,
);
$arr_posts = new WP_Query( $args );

$tax_query = array(
relation => \'AND\',
array(
    \'taxonomy\'          => \'category\',
    \'field\'             => \'term_id\',   // \'term_id\' by default, so just here as an example
    \'terms\'             => 186,
    \'include_children\'  => false,       // true by defualt
    \'operator\'          => \'IN\'         // \'IN\' by default, so just here as an example
),
array(
    \'taxonomy\'          => \'category\',
    \'terms\'             => 187,
    \'include_children\'  => false,       // true by defualt
)
()

SO网友:Cato

如果你想得到一篇属于这两个类别的文章,你需要使用category__incategory__and 参数而不是cat.

您也可以使用\'category_name\' => "first-name+second-name" 也一样,但这需要的是slug类,而不是id类。

注意:仅供参考,该查询将获取1篇包含这些类别的帖子。不一定两者同时存在。

对于你来说,获取一篇既有类别也有类别的帖子category__incategory__and 会成功的。区别在于category__in 不在中显示帖子child categories 在通过的人中category__and 也将显示子类别(如果存在)

看见Category Parameters for more info

P、 S:nikhil hadvani的回答似乎也是对的,只是在我发送这个时看到了更新。要么是这些,要么是这些。

相关推荐

在多站点网络中通过blog_id限制页面模板

TL:DR; 是否可以将页面模板限制在多站点网络中的某个站点?(使用类似get_current_blog_id 例如)More details我正在构建几个网站,每个网站都使用相同的基本部分,只是页面模板的不同变体。例如,站点A和;站点B的主页都使用组件A-D,但是站点A使用的是A B C D,站点B使用的是C B A D。我所有的实际标记都放在组件部分,页面模板大多只是一个包含列表(使用根Sage主题来帮助传递数据)。这是基本前提,但我们讨论的是7个网站上的+-30个组件和+-50个模板。我的所有模板都