source

숍 페이지만을 대상으로 합니다.

manycodes 2023. 4. 1. 09:38
반응형

숍 페이지만을 대상으로 합니다.

필요한 것은 다음과 같습니다.

  • CSS를 사용하여 메인 숍 페이지만을 대상으로 합니다(아래에 기술한 특정 커스텀클래스).

지금까지 제가 해 온 일은 다음과 같습니다.

  • 오버라이드 템플릿이 있습니다.archive-product.php내 아이 테마에서.
  • 이 재정의 템플릿에서 사용자 지정 클래스가 있는 div를 추가했습니다.custom-shop-class제품 루프 시작 직전에 루프된 제품을 대상으로 하고 싶기 때문입니다.
  • 클래스로 공략을 시도했다.page-id-4wp-admin의 "shop" 페이지를 가리키면http://.../post.php?post=4&action=edit

제가 안고 있는 문제는 다음과 같습니다.

  • 내가 발견한 바로는, 같은 것이archive-product.php템플릿은 메인 "샵" 페이지뿐만 아니라 다른 다양한 숍 페이지에서도 사용되고 있습니다(잘못하면 정정해 주세요).그래서 제가 타겟으로 삼을 때custom-shop-classCSS에서는 같은 템플릿파일을 사용하는 다른 모든 숍페이지에 영향을 줍니다.이러한 숍페이지는 영향을 받지 않습니다.
  • 숍 페이지에 대한 고유 식별자 또는 클래스는 없습니다.예를 들어 다음과 같습니다.page-id-??(통상적인 WP 페이지와 같이) 본문 태그의 클래스.

최적의 방법/솔루션에 대한 제안이 있습니까?

primary shop 페이지를 체크하는 조건문을 설정하고 해당 문이 true로 평가될 경우 문제의 div를 에코합니다.

메인 숍 페이지용 WooCommerce 조건부 태그:

is_shop()

if (is_shop()) {
echo "<div class='custom-shop-class'></div>";
} else {
echo "<div class='custom-product-category-class'></div>";
}

대체 방법:

<?php if (is_shop()):?>
<div class="custom-shop-class"></div>
<?php else: ?>
<div class="custom-product-category-class"></div>
<?php endif;?>

조건부 태그 | WoThemes 문서

필터 사용body_class와 함께is_shop조건부로 WooCommerce의 메인 숍 페이지를 타겟으로 할 수 있습니다.

add_filter( 'body_class', 'woo_shop_class' );
// Add WooCommerce Shop Page CSS Class
function woo_shop_class( $classes ) {
  if ( is_shop() )  // Set conditional
    $classes[] = 'woo-shop'; // Add Class
return $classes;
}

테마에 맞는 코드functions.php파일.

여기에 제시된 답변을 바탕으로 액티브한 WPML 언어를 기반으로 상점 페이지에 고유 식별자를 추가하는 방법은 무엇입니까?(기본적으로 독일어 버전의 샵 페이지에서만 글꼴 크기를 줄이려고 합니다.그것은 의외로 어려운 일이었습니다.)

언급URL : https://stackoverflow.com/questions/37578204/targeting-the-shop-page-only

반응형