web-dev-qa-db-ja.com

一番上にスティッキポストを表示しますが、ループには表示しませんか?

Wordpress.orgに関して - 付箋投稿は一番上に表示されますが、それらはまたループの中に現れます。

私のホームページのメインループでは、一番上にスティッキーな投稿を表示したいのですが、その投稿をループ内に再表示したくない、そうでなければそれは訪問者には冗長に見えます。

以下のコードの問題は、上から粘着性のあるポストを取り除いていることです。
上部の粘着ポストをキープしたい
しかし、ループから削除/除外してください。これは可能ですか?

コード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:これは上部ANDループの両方からスティッキーポストを削除します

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' );
1
leko

付箋投稿はホームページの最初のページ付け部分の前に追加されるので、これを試してみてください。

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' ) );

} );

ホームページの他のページ番号付きの部分からそれを削除する。

1
birgire