it-swarm-ko.tech

컨텍스트 (예 : 홈페이지, 검색, 보관)에 따라 페이지 당 다른 수의 게시물 표시

읽기 설정에는 모든 컨텍스트에 표시된 게시물의 수에 영향을 미치는 표시된 게시물 수를 설정할 수있는 곳이 있습니다. 대신 홈페이지에 특정 수의 게시물을 표시하고 아카이브, 검색 결과 등과 같은 페이지에 다른 수의 게시물을 표시하고 싶습니다.

reading-settings-blog-pages-show-at-most-per-page

테마 파일을 편집하고 거기에서 쿼리 매개 변수를 변경하여이 작업을 수행 할 수 있음을 알고 있지만 간단한 설정 페이지에 더 쉽게 액세스 할 수 있습니다. 오래전에, 나는 이것을 한 플러그인을 발견했지만, 지금은 그것을 찾을 수 없다.

누구든지이 작업을 수행하는 플러그인을 알고 있습니까? 또는 동일한 작업을 수행하기 위해 functions.php에 넣을 수있는 함수도 있습니까?

21
Doug

나는 플러그인에서 이것을하는 가장 좋은 방법은 pre_get_posts 액션 훅이 발생할 때 다음 샘플 함수를 실행하는 것이라고 믿는다. $wp_query 개체를 사용할 수 있습니다. 즉, 조건부 태그를 사용할 수 있지만 WordPress에서 게시물을 가져 오기 전에 query_posts ()를 사용할 때처럼 두 번째 쿼리를 추가하는 대신 첫 번째 쿼리를 실행하기 전에 쿼리 바를 변경한다는 의미입니다. 테마 파일.

function custom_posts_per_page($query) {
    if (is_home()) {
        $query->set('posts_per_page', 8);
    }
    if (is_search()) {
        $query->set('posts_per_page', -1);
    }
    if (is_archive()) {
        $query->set('posts_per_page', 25);
    } //endif
} //function

//this adds the function above to the 'pre_get_posts' action     
add_action('pre_get_posts', 'custom_posts_per_page');
23
kevtrout

query_posts를 사용하여 사용자 정의 루프를 수행하고 is_home, is_archive 등으로 게시물 수를 지정할 수 있습니다.

query_posts와 함께 간단한 if 문

0
chrismccoy