후크가있는 Woocommerce 템플릿을 편집하는 데 약간의 문제가 있습니다. 기본적으로 product-image
템플릿을 변경하여 업로드 된 제품 이미지에 링크하는 대신 제품 게시물에 연결합니다.후크가있는 템플릿 무시
현재 product-image.php
woocommerce 템플릿은
global $post, $woocommerce, $product;
?>
<div class="images">
<?php
if (has_post_thumbnail()) {
$image_title = esc_attr(get_the_title(get_post_thumbnail_id()));
$image_link = wp_get_attachment_url(get_post_thumbnail_id());
$image = get_the_post_thumbnail($post->ID, apply_filters('single_product_large_thumbnail_size', 'shop_single'), array(
'title' => $image_title
));
$attachment_count = count($product->get_gallery_attachment_ids());
if ($attachment_count > 0) {
$gallery = '[product-gallery]';
} else {
$gallery = '';
}
echo apply_filters('woocommerce_single_product_image_html', sprintf('<a href="%s" itemprop="image" class="woocommerce-main-image zoom" title="%s" rel="prettyPhoto' . $gallery . '">%s</a>', $image_link, $image_title, $image), $post->ID);
} else {
echo apply_filters('woocommerce_single_product_image_html', sprintf('<img src="%s" alt="Placeholder" />', woocommerce_placeholder_img_src()), $post->ID);
}
?>
<?php do_action('woocommerce_product_thumbnails'); ?>
</div>
내가 게시물에 대한 링크에 %s
을 변경하려면 echo apply_filters('woocommerce_single_product_image_html', sprintf('<a href="%s" itemprop="image" class="woocommerce-main-image zoom" title="%s" rel="prettyPhoto' . $gallery . '">%s</a>', $image_link, $image_title, $image), $post->ID);
을 적용하는 방법이 확실하지 있습니다.
내가 사용하고 후크는 다음과 같습니다
이add_action('woocommerce_product_thumbnails', 'custom_links');
function custom_links() {
//code
}
누군가가 나를이 몇 가지 방향을 얻을 수 있도록 수 있을까요?
응답 해 주셔서 감사합니다. 함수가 작동하는 것처럼 보입니다. 그러나'$ link'의 값을 변경하면 그림이 제거됩니다. href를 어떻게 변경하고 src를 그대로 둘 수 있습니까? – Chris
@Chris $ link 변수에 ""과 같은 HTML이 포함되어 있기 때문입니다. preg_replace() (또는 다른 문자열 함수)를 사용하여 URL 만 수정하거나 전체 문자열을 다시 생성하십시오. 제품 ID가 있습니다. 이미지 및 URL을 가져 와서 문자열을 다시 실행하십시오. – ViszinisA
$ 링크 문자열을 바꿀 때 치명적인 오류가 발생합니다. I.E. 그것을 이미지에 보여주기 위해서, 그것도 포스트에 링크하지 말아라'function custom_links ($ link, $ post_id) { $ link = ""; return $ link; }'나는 여기에 규칙이 없다고 생각합니다. – Chris