您可以尝试从sticky_posts
选项,然后相应地修改类别存档的主查询:
/**
* Category Archives: Only display sticky posts for each category term
*/
add_action( \'pre_get_posts\', function( \\WP_Query $q )
{
if( ! is_admin() && $q->is_category() && $q->is_main_query() )
{
$sticky_posts = get_option( \'sticky_posts\' );
if( ! empty( $sticky_posts ) )
$q->set( \'post__in\', (array) $sticky_posts );
}
} );
请注意,这里我们使用的是一种简化方法,即查询所有这些粘性帖子,而不管其类别如何。我们让主查询的分类查询进行过滤。