Woocommerce删除了产品标题上的链接,并将其替换为链接:外部产品/会员>产品URL

时间:2019-03-26 13:35:22

标签: php wordpress woocommerce affiliate

我创建了一个带有woocommerce和Flatsome主题的会员网站!

原则上,我希望当用户单击产品标题或缩略图中的图像时,他没有重定向到详细的产品表,而是重定向到“外部产品/从属关系”中的会员链接的网址>产品网址。

我在stackoverflow.com上找到了执行所需操作的代码:

Woocommerce - External/Affiliate Product Image and title to External Link (New tab)

我将代码集成到了功能文件中:

remove_action('woocommerce_before_shop_loop_item', 'woocommerce_template_loop_product_link_open');
add_action('woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_link_open', 15);
add_action('woocommerce_before_shop_loop_item', 'woocommerce_add_aff_link_open', 10);
add_action('woocommerce_before_shop_loop_item_title', 'woocommerce_add_aff_link_close', 10);

function woocommerce_add_aff_link_open(){
    $product = wc_get_product(get_the_ID());

    if( $product->is_type( 'external' ) ) {
        echo '<a target="_blank" href="' . $product->get_product_url() . '" class="">';
    }
}

function woocommerce_add_aff_link_close(){
    $product = wc_get_product(get_the_ID());

    if( $product->is_type( 'external' ) ) {
        echo '</a>';
    }
}



function woocommerce_template_loop_product_link_open() {
    global $product;

    if( $product->is_type( 'external' ) ) {
        $link = apply_filters( 'woocommerce_loop_product_link', $product->get_product_url(), $product );
        echo '<a target="_blank" href="' . esc_url( $link ) . '" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">';
    } else {
        $link = apply_filters( 'woocommerce_loop_product_link', get_the_permalink(), $product );
        echo '<a href="' . esc_url( $link ) . '" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">';
    }
}

除了链接出现在代码中但不在正确的位置,而不是标题和图像周围!

这是指向我的网站的链接:

https://www.thefreakyshop.com/boutique/

使用代码检查器监视第一个产品:All Star Canvas Hi Converse。 我使用链接google.fr作为会员链接进行了测试,我们可以看到该链接:

<a target="_blank" href="https://www.google.com/" class=""> </a>

但是不在正确的位置,缩略图和图像的URL标题没有消失!

您是否有问题的根源? 我不是编码器,谢谢您的帮助!

0 个答案:

没有答案