我正在我的开发网站上测试你的代码,它只返回1个结果(虽然同一类别中有3个项目),所以你的代码看起来很好,可能应用了其他过滤器,忽略了posts\\u per\\u page参数。
您可以尝试使用suppress_filters => true
WP\\u Query args列表中的参数,或者使用get\\u posts()函数代替WP\\u Query,因为该函数在默认情况下启用了superss\\u过滤器,因此代码将
$posts = get_posts(array(
\'post_type\' => \'post\',
\'category__in\' => wp_get_post_categories($post->ID),
\'posts_per_page\' => 1,
\'post__not_in\' => array($post->ID)
));
希望这有帮助。