programing

Woocommerce의 특정 제품 카테고리에 대한 사용자 정의 단일 제품 템플릿 사용

codeshow 2023. 9. 14. 23:43
반응형

Woocommerce의 특정 제품 카테고리에 대한 사용자 정의 단일 제품 템플릿 사용

저는 우커머스 샵에 있는 제품 중 하나만 커스텀 페이지를 사용하려고 합니다.첨부된 기능을 적용하려고 했으나 성공하지 못했습니다( 답변에서 어떤 코드가 나오는지).

제 /woocommerce 폴더에 코드가 추가된 single-product.php 파일의 복사본을 만들었지만, single product 보기에는 "표준" single-product-php만 표시되고 single-product-mock.php 파일은 표시되지 않습니다.

그리고 제품에는 "custom"이라는 제품 카테고리가 있습니다.

add_filter( 'template_include', 'so_43621049_template_include', 10 );

function so_43621049_template_include( $template ) {
  if ( is_singular('product') && (has_term( 'custom', 'product_cat')) ) {
    $template = get_stylesheet_directory() . '/woocommerce/single-product-mock.php';
  } 
  retur

당신이 사용하고 있는 코드는 완벽하게 작동합니다.코드도 약간 불완전합니다.

add_filter( 'template_include', 'custom_single_product_template_include', 50, 1 );
function custom_single_product_template_include( $template ) {
    if ( is_singular('product') && (has_term( 'custom', 'product_cat')) ) {
        $template = get_stylesheet_directory() . '/woocommerce/single-product-mock.php';
    } 
    return $template;
}

따라서 문제는 다음과 관련이 있을 수 있습니다.

  1. 해당 사용자 정의 템플릿의 위치(사용자의 활성 하위 테마 내부 또는 활성 테마 내부의 'woocmerce' 폴더에 있어야 합니다.
  2. 테마에 맞게 우커머스 지원을 활성화해야 합니다.

솔루션:

  1. 활성 하위 테마(또는 활성 테마) 안에 "woocmerce" 폴더가 있는지 확인하고 그 안에 사용자 정의 템플릿을 추가합니다.single-product-mock.php
    (단, "병렬" 하위 폴더 안에는 없음)
  2. Woocommerce 지원이 활성화되었는지 확인하려면:
    • 기본값 복사single-product.php활성 하위 테마(또는 활성 테마)에 위치한 "woocmerce" 폴더 내 템플릿
    • 백엔드 Woocommerce > Status …로 들어가시면 일반적으로 "템플릿" 섹션(이 페이지의 끝에 있음)에 표시됩니다.

      어린이 테마가 활성화된 경우
      enter image description here 활성 테마:
      enter image description here
    • 사용할 수 없는 경우 관련된 Woocommerce 문서를 검색하고 찾아봐야 합니다.

그것들 중 하나는, 당신의 문제를 해결해 줄 것입니다.

언급URL : https://stackoverflow.com/questions/49222042/using-a-custom-single-product-template-for-a-specific-product-category-in-woocom

반응형