programing

제품 페이지에서 클릭 가능한 이미지 방지, 제품-이미지 링크 비활성화

padding 2023. 10. 20. 13:28
반응형

제품 페이지에서 클릭 가능한 이미지 방지, 제품-이미지 링크 비활성화

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

반응형