关于wordpress。组织-粘性帖子显示在顶部,但它们也会再次出现在循环中。
对于我主页上的主循环,我希望在顶部显示粘性帖子,但我不希望帖子再次出现在循环中,否则对访问者来说是多余的。
下面代码的问题是,他们从顶部移除了粘性贴子
我想将粘性贴子保留在顶部,但将其从循环中删除/排除。这可能吗?
代码A:这将从顶部删除粘性帖子
function mango($query){
if ( $query->is_home() && $query->is_main_query() && !is_admin() ) {
$query->set( \'ignore_sticky_posts\', true );
}
}
add_action( \'pre_get_posts\', \'mango\' );
代码B:这将从顶部和循环中删除粘性帖子
function mango($query){
if ( $query->is_home() && $query->is_main_query() && !is_admin() ) {
$query->set( \'post__not_in\', get_option( \'sticky_posts\' ) );
}
}
add_action( \'pre_get_posts\', \'mango\' );
最合适的回答,由SO网友:birgire 整理而成
粘性贴子在主页的第一个分页部分预先添加,因此请尝试以下操作:
add_action( \'pre_get_posts\', function( $q )
{
if ( $q->is_home() && $q->is_main_query() && $q->get( \'paged\' ) > 1 )
$q->set( \'post__not_in\', get_option( \'sticky_posts\' ) );
} );
将其从主页的其他分页部分中删除。