您可以使用“category\\uu not\\u in”数组参数。另外,我对您的代码做了一些修改,您应该使用wordpress最佳实践,即“if->while”来显示帖子。请尝试下面的代码,因为我还没有测试它。
<?php
// Default arguments
$args = array(
\'posts_per_page\' => 6, // How many items to display
\'post__not_in\' => array( get_the_ID() ), // Exclude current post
\'no_found_rows\' => true, // We don\'t ned pagination so this speeds up the query
\'orderby\' => \'rand\',
\'category__not_in\' => array( 1 )
);
// Check for current post category and add tax_query to the query arguments
$cats = wp_get_post_terms( get_the_ID(), \'category\' );
$cats_ids = array();
foreach( $cats as $wpex_related_cat ) {
$cats_ids[] = $wpex_related_cat->term_id;
}
if ( ! empty( $cats_ids ) ) {
$args[\'category__in\'] = $cats_ids;
}
// Query posts
$wpex_query = new WP_Query( $args );
// Loop through posts
if( $wpex_query->have_posts() ) :
while( $wpex_query->have_posts() ) : $wpex_query->the_post(); ?>
<div class="weitere_interessante_artikel_container">
<div class="weitere-artikel-pic-wrapper">
<a href="<?php the_permalink() ?>"><?php the_post_thumbnail(\'middle\');?></a>
</div>
<div class="text_container">
<a href="<?php the_permalink() ?>"><span><?php echo str_replace(\':\', \':</span>\', get_the_title()); ?></a>
</div>
</div>
<?php
// End loop
endwhile;
// Reset post data
wp_reset_postdata();
endif; ?>