[英]Display posts with specific tags on wordpress homepage?
我試圖在我的 wordpress 主頁上只顯示帶有“44”或“9”標簽的帖子。
到目前為止,我在這里:
<?php get_header();?>
<div class="container pt-5 pb-5">
<h1><?php the_title();?></h1>
<?php
$query = new WP_Query( array( 'tag__in' => array( 44, 9 ) ) );
if ( $query->have_posts() ) :
while ( $query->have_posts() ) : $query->the_post();?>
<?php the_content();?>
<?php endwhile; endif;?>
</div>
<?php get_footer();?>
但是看不到帖子。 我哪里錯了?
在您的查詢中,您已指定要查找帶有標簽 44 或 9 的帖子:
$query = new WP_Query( array( 'tag__in' => array( 44, 9 ) ) );
請注意,這不會獲取帶有這些標簽的所有帖子 - 此查詢中還有其他約束,此處未看到。 WP_Query
有許多默認值,所以如果你沒有在你的 args 中設置它們,那么它會使用這些。 這些默認參數包括:
post_status
= public
(除非用戶已登錄 - 然后還包括private
)post_type
= post
(不是說這是特定的帖子類型,不包括所有帖子,例如自定義帖子類型)由於您的查詢沒有返回任何內容,並且根據您為顯示有帶有這些標簽的帖子所做的調試,我們知道這些默認值之一正在阻止查詢獲取您的帖子。
my_cpt
,您可以按如下方式包含它:$args = array( post_type' => 'my_cpt',
array( 'tag__in' => array( 44, 9 ) ) );
$query = new WP_Query( $args);
您還可以使用'post_type' => array( 'post', 'my_cpt')
一次性搜索多種帖子類型
僅供參考,如果您不確定您的帖子的 slug 是什么,請轉到 WP 管理中列出您嘗試獲取的所有帖子的頁面並查看 url - 它將包含這樣的帖子類型:
https://www.example.com/wp-admin/edit.php?post_type=my_cpt
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.