重定向到Woocommerce中的外部URL并添加rel =" nofollow"

时间:2016-10-13 23:01:12

标签: wordpress redirect woocommerce nofollow

我正在尝试自定义Wocommerce以将图片和产品名称链接重定向到联属网址,因为现在它们已链接到产品页面。

到目前为止,我找到了一个解决方案,我可以将它们重定向到会员外部链接,将这段代码添加到functions.php中:

add_action( 'template_redirect', 'redirect_external_products' );
function redirect_external_products() {
    global $post;
    if ( is_singular( 'product' ) && ! empty( $post ) && ( $product = wc_get_product( $post ) ) && $product->is_type( 'external' ) ) {
        wp_redirect( $product->get_product_url() ); 
        exit;
    }
}

然而,我想将这些链接设为nofollowed,因为它们是联盟链接,并在新标签中打开它们,但在尝试了几个编码选项和插件后,我还没有找到合适的解决方案。使用无法插入所有外部链接的插件不起作用,因为它们现在被视为内部链接(即使重定向到外部)。

非常感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

将此添加到您的子主题功能:

function custom_woocommerce_template_loop_product_link_open() {
    echo '<a href="' . get_the_permalink() . '" rel="nofollow">';
}

remove_action( 'woocommerce_before_shop_loop_item', 'woocommerce_template_loop_product_link_open', 10 );
add_action( 'woocommerce_before_shop_loop_item', 'custom_woocommerce_template_loop_product_link_open', 10 );