2014-11-09 2 views
0

woocommerce 저장소에 단일 제품을 판매하고 있으며 그 제품 옆에 몇 가지 액세서리를 판매하고 있으므로 두 가지 템플릿을 사용하고 싶습니다. content-single-product.php 파일 옆에 content-single-accessory.php이라는 또 다른 파일을 만들고 해당 템플릿 파일을 편집합니다.WP Woocommerce is_product_category not working

다음으로 제품 및 액세서리라는 두 가지 카테고리를 만들었습니다. 제품 자체는 제품 카테고리에 추가되고 액세서리는 액세서리 카테고리에 추가됩니다. 이제 제가 직면하고있는 문제가 있습니다.

<?php if (is_product_category('product')) { ?> 

    <?php wc_get_template_part('content', 'single-product'); ?> 

    <?php } else { ?> 

    <?php wc_get_template_part('content', 'single-accessory'); ?> 

    <?php } ?> 

나는 제품 카테고리와 페이지를 방문 할 때이 제품 템플릿을 표시하지 않습니다하지만 content-single-accessory.php을 보여줍니다 single-product.php 내부 내가 이런 짓을. 또는 if 문이 전혀 작동하지 않고 위의 두 번째 템플리트가 항상 표시되는 경우 위의보다 명확하게 나타낼 수 있습니다. 내가 여기서 뭘 잘못하고 있니?

감사합니다.

+0

안녕, 당신은 상위 범주의 어린이 카테고리입니까? – Mauro

+0

그들은 부모입니다 –

답변

0

문의처이 시도하고 알려 :

<? 
$terms = get_the_terms($post->ID, 'product_cat'); 

foreach ($terms as $term) { 
    if($term->slug == 'product') : ?> 

     <?php while (have_posts()) : the_post(); ?> 
     <?php wc_get_template_part('content', 'single-product'); ?> 
     <?php endwhile; // end of the loop. ?> 
     <?php else :?> 
      <?php wc_get_template_part('content', 'single-accessory'); ?> 
     <?php endif; 
}?> 

편집 : 처음에 <?를 추가

+0

이 코드는 ok formated 보이지 않습니다. 이 IF 문은 WHILE로 끝나고 바깥 쪽에서 시작됩니까? –

+0

시도해 보셨습니까? – Mauro

+0

예.하지만 오류가 발생했습니다. 제대로 닫지 않았 으면 –

1

이 상황이있을 때 좋은 습관이 있지만 wordpressis_product_category() 또는 is_category()으로 시도하는 것입니다 당신의 방식으로 가지 않으면 복잡하게하지 마십시오. 현재 페이지 URL

$current_url = (isset($_SERVER['HTTPS']) 
       ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; 
  • 를 확인하고 간단한 카테고리 페이지를 확인

    1. ,

      if(strpos($current_url,'product-category') !=false 
                || strpos($current_url,'brand') !=false) { 
      
      }