안녕하세요. 현재 우커머스로 상품 등록하고 사용하고 있는데요~
상점 페이지에 등록된 상품이 전부 나오고 있는데요~
특정 카테고리는 나오지 않았으면 좋겠습니다.
방법이 있을까요?
해결 되었습니다!!
항상 감사드립니다!
get_the_ID() 함수의 경우 if문으로 체크를 해주시면 가능합니다.
현재 페이지가 상점 페이지인지 체크하시려면 is_shop() 함수를 활용해보시겠어요?
아래의 코드처럼 활용해보세요.
/**
* Exclude products from a particular category on the shop page
*/
function custom_pre_get_posts_query( $q ) {
if(is_shop()){
$tax_query = (array) $q->get( 'tax_query' );
$tax_query[] = array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array( 'clothing' ), // Don't display products in the clothing category on the shop page.
'operator' => 'NOT IN'
);
$q->set( 'tax_query', $tax_query );
}
}
add_action( 'woocommerce_product_query', 'custom_pre_get_posts_query' );
고맙습니다.
답변감사합니다..
어떻게 사용해야하나요?
page ID를 어디에 삽입해야하는지도 감이 안잡힙니다..
안녕하세요.
워드프레스 get_the_ID() 함수를 사용하면 페이지 ID 값을 가져올 수 있으며
특정 페이지에서만 실행되는 코드를 작성하실 수 있습니다.
get_the_ID() 함수에 대한 자세한 내용은
아래 링크를 참고해보세요.
https://developer.wordpress.org/reference/functions/get_the_id/
워드프레스에서 페이지 ID를 찾는 방법은 아래 블로그 링크를 확인해주세요.
고맙습니다.
안녕하세요!
알려주신걸로 해보았습니다만,
현재 YITH Woocommerce Multi Vendor 플러그인을 사용중인데요!
알려주신 코드를 입력하게 되면 Vendor 페이지에 있는 상품까지 사라져버립니다.
혹시 특정페이지에서만 사용되게 할 수 있을까요?
http://moduwith.dothome.co.kr/withstore/
위 링크에서만 작동되게 하고싶습니다.
현재 사용중인 코드입니다.
/**
* Exclude products from a particular category on the shop page
*/
function custom_pre_get_posts_query( $q ) {
$tax_query = (array) $q->get( 'tax_query' );
$tax_query[] = array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array( 'clothing' ), // Don't display products in the clothing category on the shop page.
'operator' => 'NOT IN'
);
$q->set( 'tax_query', $tax_query );
}
add_action( 'woocommerce_product_query', 'custom_pre_get_posts_query' );
안녕하세요~^^
우커머스 상점 페이지에서 특정 카테고리를 안 보이게 하는 건
우커머스 공식 문서를 참고해보시겠어요?
https://docs.woocommerce.com/document/exclude-a-category-from-the-shop-page/
코드는 테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 추가할 수 있습니다.
고맙습니다.