我看到wordpress给你提供了一个机会来搜索N个类别的帖子。。。所以我自己尝试并产生了这个代码。。。
$catIDs = get_cat_ID( $cat_name=\'CategoryName1\' );
$catIDs .= \',\' . get_cat_ID( $cat_name=\'CategoryName2\');
$catIDs .= \',\' . get_cat_ID( $cat_name=\'CategoryName3\');
echo "$catIDs </br>";
$my_query = new WP_Query( array( \'category__and\' => array($catIDs) ) );
if( $my_query->have_posts() ) : while( $my_query->have_posts() ) : $my_query->the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>"> <?php the_ID(); ?> </a>
</li>
<?php endwhile; endif; wp_reset_postdata(); ?>
如果我将数组($CATID)替换为1,2,3(类别的ID),此解决方案有效。。。。为什么在变量$CATID中没有呢?以及如何使此解决方案动态化(我有一个表单,我将在此表单中传递数据—在本例中是类别名称/ID)
最合适的回答,由SO网友:Subharanjan 整理而成
Make sure you are providing correct category names into the function get_cat_ID().
<?php
$catIDs = array();
$catIDs[] = get_cat_ID( \'CategoryName1\' );
$catIDs[] = get_cat_ID( \'CategoryName2\' );
$catIDs[] = get_cat_ID( \'CategoryName3\' );
$my_query = new WP_Query(
array(
\'category__and\' => $catIDs
)
);
if( $my_query->have_posts() ) :
while( $my_query->have_posts() ) : $my_query->the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>"> <?php the_ID(); ?> </a>
</li> <?php
endwhile;
endif;
wp_reset_postdata();
?>