메인 쿼리와 서브 쿼리로 고민하고 있는 당신(나)에 바치다

4722 단어 WordPress
WordPress에서 사이트 제작을 반드시 만나는 단어

기본 쿼리 하위 쿼리

이번 기사에서는 어쩔 수 없는 이해로 사용하고 있는 메인 쿼리 서브쿼리에 대한 이해를 깊게 하는 것을 목적으로 기사 집필해 나갈 것입니다.

기본 쿼리와 하위 쿼리란 무엇입니까?



기본 쿼리 하위 쿼리를 이해하기 위해 먼저 WordPress가 어떤 순서로 어떤 작업을 수행하는지 살펴 보겠습니다!


1. PC에서 URL로 표시하고 싶은 페이지의 요청을 서버에 보내기
2. URL을 받고 서버에서 데이터베이스로 필요한 데이터를 검색합니다.
(고정 페이지의 URL이라면, 고정 페이지의 정보를 검색. 기사 일람의 URL이면 기사의 정보를 검색)
→이 요청을 メインクエリ3. 필요한 데이터를 데이터베이스에서 추출하여 정리한 것을, $wp_query (필요한 데이터를 정리한 오브젝트)를 생성.
$wp_query 에는 다양한 포스트 정보가 들어 있다
4.PHP로 처리하여 표시

기본 쿼리 사용자 정의



서버에서 데이터베이스로 필요한 데이터를 검색 할 때 사용자 정의 할 때 어떻게해야하는지 살펴 보겠습니다.
예를 들어, 게시물 기사를 5건만 취득하고 싶을 때나, 특정의 카테고리만 취득하고 싶을 때라고 하는 경우를 들 수 있습니다.

결론적으로 후크를 사용하여 가능합니다.
후크를 활성화하여 검색을 시작하기 전에投稿記事を3件のみ取得したいとき特定のカテゴリーのみ取得したい라는 것을 실현할 수 있게 됩니다.

훅을 사용할 때는 pre_get_posts 를 사용합시다.
htps : // c ぇ y 센세. 이 m/bぉg/호 w--우세-p레_게 t_포 sts/
기사가 매우 도움이되었습니다.
query_post 하지만 가능한 것 같습니다만, 비추천이므로 그만두자!
htps //w w. 세주쿠. 네 t/bぉg/67035

투고 기사를 5건만 취득하고 싶을 때에 쓰는 코드입니다. (codex에서 인용)

functions.php
function five_posts_on_homepage( $query ) {
    if ( $query->is_home() && $query->is_main_query() ) {
        $query->set( 'posts_per_page', '5' );
    }
}
add_action( 'pre_get_posts', 'five_posts_on_homepage' );

하위 쿼리란?



기본 쿼리에서 검색할 수 없는 정보를 요청합니다.
($wp_query에서는 얻을 수 없었던 것)

같은 페이지에, 「신착 뉴스」 「제작 실적」을 2개 표시하고 싶을 때에 어떻게 할까를 생각해 갑니다.
신착 뉴스를 디폴트의 투고 타입·제작 실적을 커스텀 투고 타입으로 표시시키는 케이스로 가면,
뉴스가 메인 쿼리로 취득 표시이면, 실적을 서브 쿼리로 취득·표시하도록 합니다.

그리고, 서브쿼리를 취득할 때의 샘플 코드가 이쪽이 됩니다.
<?php
$args = array(
 'post_type' => 'works',
);
$the_query = new WP_query($args);
?>


htps : // 먹이 mpぇ. 인후 / wp / 402
의 기사 굉장히 참고가 될 것 같으므로, 두어 둡니다.

요약



메인 쿼리·서브 쿼리·훅등 잘 모르는 말이구나라고 생각하고 있었습니다만,
스스로 정리해 나가면 이해할 수 있게 되네요.

내가 숭배하는 아키의 동영상은 엄청 공부하기 때문에
시간이 있으면 봐주세요.
이번 기사는, 거의 거의 이쪽의 동영상을 참고로 해서 집필했습니다.
IMAGE ALT TEXT HERE

※Youtube를 Qiita에 묻는 것도 조금 수고했습니다.
이 기사를 참고해보십시오.
htps : // 이 m / t 나름 / ms / 762b6 4 아 c0 아 160 예 f5b

좋은 웹페이지 즐겨찾기