pre_get_posts
내 홈페이지에 표시되는 게시물 수를 조정하는 데 사용 하고 있습니다.
function lifelounge_query_adjust( $query ) {
if ( is_home() ) {
set_query_var( 'posts_per_page', 12 );
return;
}
}
add_filter( 'pre_get_posts', 'lifelounge_query_adjust' );
그러나 스티커 포스트에 문제가 있습니다. 내가 어떤 끈적 게시물이있는 경우 기본적으로 쿼리가 표시됩니다 더 가 (12 개) 표시하기 때문에, 내가 지정한 12 개 게시물보다 더한 어떤 끈적 게시물. 물론 끈적 끈적한 게시물을 무시할 수 있습니다.
function lifelounge_query_adjust( $query ) {
if ( is_home() ) {
set_query_var( 'posts_per_page', 1 );
set_query_var( 'ignore_sticky_posts', 1 );
return;
}
}
add_filter( 'pre_get_posts', 'lifelounge_query_adjust' );
그러나 이것이 이상적이라고 생각하지 않습니다. 스티커 게시물은 12 게시물의 한도에 포함 되어야하며 한도에 추가 해서는 안된다고 생각합니다 . 그것이 저에게 가장 의미가있는 것입니다. 그것을 달성 할 수있는 방법이 있습니까? 얼굴에 맞는 오류를 범했습니까?
거의 복제본 : 페이지 당 고정 게시물 및 게시물 이지만 너무 현지화되어 이상하게 닫혔습니다. 나는 대답을 찾고 있기 때문에 분명히 동의하지 않지만, 스티커 포스트를 사용하는 경우 WordPress가 posts_per_page
한계 를 존중하지 않는 이유에 대한 질문이기 때문에 동의하지 않습니다 . 페이지 당 12 개의 게시물을 원하는 경우 13 개가 아닌 12 개의 게시물을 가져와야합니다. 이는 하나의 고정 된 게시물이있는 경우 얻을 수 있습니다.
$sticky_count + (12 - $sticky_count)
을12- $sticky_count
하지만. 예를 들어, 끈적 끈적한 것이 1 인 경우 수학은 여전히 12로 계산되고 WP는 스티커 포스트를 추가하여 13을 만듭니다. 오,if ($sticky_count > $posts_per_page)
12로 설정하면 24+가 표시되지 않습니까?