반응형
제품 페이지에서 클릭 가능한 이미지 방지, 제품-이미지 링크 비활성화
Woocommerce와 my Storefront childer 테마로 단품 이미지를 클릭할 때 풀 사이즈 이미지로 새 페이지가 열리는 것을 방지하려고 합니다.
사용자가 제품 페이지에서 이미지를 클릭해도 아무 일도 일어나지 않도록 이미지를 클릭하지 않았으면 합니다.
내 child-theme functions.php에서 다음 코드는 라이트 박스에서 이미지를 확대하거나 열지 못하게 하지만 링크를 완전히 비활성화하고 싶습니다.
add_action( 'after_setup_theme', 'remove_hemen_theme_support', 100 );
function remove_hemen_theme_support() {
remove_theme_support( 'wc-product-gallery-zoom' );
remove_theme_support( 'wc-product-gallery-lightbox' );
}
어떻게 하면 이것을 이룰 수 있을까요?
이 필터를 추가하면 하이퍼링크가 제거됩니다.
function e12_remove_product_image_link( $html, $post_id ) {
return preg_replace( "!<(a|/a).*?>!", '', $html );
}
add_filter( 'woocommerce_single_product_image_thumbnail_html', 'e12_remove_product_image_link', 10, 2 );
템플릿 woocmerce/single-product/product-thumbnails를 덮어쓸 수 있습니다.당신의 테마에 php.
다음을 실행합니다.
apply_filters(
'woocommerce_single_product_image_thumbnail_html',
sprintf(
'<a href="%s" class="%s" title="%s" data-rel="prettyPhoto[product-gallery]">%s</a>',
esc_url( $props['url'] ),
esc_attr( $image_class ),
esc_attr( $props['caption'] ),
wp_get_attachment_image( $attachment_id, apply_filters( 'single_product_small_thumbnail_size', 'shop_thumbnail' ), 0, $props )
),
$attachment_id,
$post->ID,
esc_attr( $image_class )
);
같은 주제로 어떻게 했냐면요.
테마를 재정의하는 데 필요한 기능이 있는 간단한 플러그인(단 functions.php를 사용할 수 있음)을 만들었고 내부에는 다음 코드가 있습니다.
add_action( 'wp', 'ts_remove_zoom_lightbox_gallery_support', 99 );
function ts_remove_zoom_lightbox_gallery_support() {
remove_theme_support( 'wc-product-gallery-zoom' );
remove_theme_support( 'wc-product-gallery-lightbox' );
}
우리 기능의 차이점은 제가 "After_setup_theme" 대신 "wp"를 사용하고 있다는 것입니다.
한번 해보시고 일이 되는지 알려주세요.
언급URL : https://stackoverflow.com/questions/64160112/prevent-clickable-image-in-product-page-disable-product-image-link
반응형
'programing' 카테고리의 다른 글
jQuery, JSON, PHP 및 gMap (0) | 2023.10.20 |
---|---|
함수 내부의 구조를 정의할 때 "벌점"이 있습니까? (0) | 2023.10.20 |
Mysql 날짜 함수가 다음 시간 동안 작동하지 않습니다. (0) | 2023.10.15 |
Woocommerce 주문내역에 상품선택비용 표시 (0) | 2023.10.15 |
multicolumn unique key mysql insert (0) | 2023.10.15 |