온라인 전자 상거래를 만들었습니다. 판매용 전자 서적과 전자 잡지를 만들었습니다. 하위 카테고리가있는 "전자 책"제품 카테고리가 있으며, 잡지에는 "emagazines "범주에는"여성 ","남성 "및"비즈니스 "와 같은 하위 범주가 있습니다. emagazines의 경우 저장소의 전체 잡지 섹션에 대한 쿼리를 수정하기위한 pre_get_posts 함수를 만들었습니다. 다음 코드는 내가 문제는 내가 범주은 "emagazines"을 목표로 한 후, 내 기능 만 eMagazines 범주에 영향을 미치고하지 "여성", "남자"와 같은 아이들 범주, "비즈니스"이다pre_get_posts를 사용하여 아동용 Woocommerce 카테고리를 생성하는 방법
function magazine_filter($query) {
if (!is_admin() && $query->is_main_query() && $query->query_vars['product_cat'] == 'emagazines' :
// My code goes here
endif ;
}
add_action('pre_get_posts','magazine_filter');
을 가지고있다 확실한 해결책은 수동으로 내 모든 하위 범주를 대상으로하는 것이지만 이것은 너무 깁니다. 나는이 함수가 동적이기를 원하기 때문에이 함수는 항상 "eMagazines"카테고리의 모든 하위 카테고리를 대상으로합니다.
도와주세요
가'변경하는 것이 좋습니다 :
나는 용어 슬러그 인 경우에
$query->query_vars['product_cat']
반환하지만,에 변경을 고려 모르겠어요 product_cat ']'이 슬러그로 카테고리를 참조하고 있습니다. – maiorano84get_terms()는 pre_get_posts에서 작동합니까? 가능하다면 $ tree는 빈 배열 인 것처럼 보이는 것을 반환합니다. 나는 'id'를 'slug'로 바꾼다 – TafMak
나는 당신의 분류가 실제로 불려지는 것을 추측하고 있었다. 'product_cat'으로 등록 되었습니까? 또는 다른 것? – maiorano84