> FacetWP 를 이용한 Archive 페이지 필터링 URL 직접 접속

FacetWP 를 이용한 Archive 페이지 필터링 URL 직접 접속

2022년 11월 3일

상품 목록 등 특정 archive 페이지를 FacetWP 루프로 구성하며 filter query string 으로 직접 접속하게 되면, URL에 정의된 FacetWP 필터가 작동하지 않음.

이 경우 Archive 페이지가 아닌 일반 페이지에 FacetWP를 구성하는 방법으로 구성하면 되지만, Archive 페이지들의 Permalink 를 유지하는 측면(SEO 고정성)과, Template hierarchy 를 따르고 유지하여 다양한 목록에 대한 통일성을 유지한다는 측면에서 Archive 페이지를 유지하는 것이 좋다.

이를 해결하는 또 다른 방법으로 FacetWP 에서 제공하는 ‘is_main_query’ 필터를 이용하여 특정 조건에서 FacetWP 가 워드프레스의 main query 를 대체하도록 하면 된다. ( FacetWP에 우선권을 주어야 제대로 필터링 된 값이 전달 됨. )

예: 슬러그가 ‘shopping’ 이라는 상품카테고리 페이지일 경우

add_filter( 'facetwp_is_main_query', function( $is_main_query, $query ) { if ( $query->is_tax('product_cat', 'shopping') && !empty($_GET['_producty_category']) ) { $is_main_query = false; } return $is_main_query; }, 10, 2 );
Code language: PHP (php)

0개의 댓글

댓글 제출

    0
    장바구니
    장바구니가 비었습니다.
      할인쿠폰 적용