2016-10-13 6 views
3

画像と商品名のリンクをアフィリエイトURLにリダイレクトするようにWoCommerceをカスタマイズしようとしています。Woocommerceの外部URLにリダイレクトして、rel = "nofollow"を追加します。

はこれまでのところ、私は私がの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このリンクをしたいと思いますが彼らはアフィリエイトリンクであるだけでなく、新しいタブでそれらを開きますが、いくつかのコーディングオプションとプラグインを試した後、私は適切な解決策を見つけませんでした。すべての外部リンクをフォローするプラグインは、外部リンクにリダイレクトされていても内部リンクとして扱われるため、動作しません。

ご協力いただきますようお願い申し上げます。ありがとうございます。

+0

をあなたはのnofollowを追加したいですか?商品リストのページにありますか? '関数woocommerce_template_loop_product_link_open(){ \tエコー '

+1

はい、私は、このよう/woocommerce/includes/wc-template-functions.phpにREL =」nofollowを」を置くことによってそれを解決したと思います。 get_the_permalink()。 '"class =" woocommerce-LoopProduct-link "rel =" nofollow ">'; } ' – Verso68

+1

はい、@ verso68は良いことではない1つの解決策です。なぜなら、あなたのプラグインを更新すると、そのプラグインが更新されるからです。だから私はいくつかのフックを探していた。しかし、私は製品のURLを変更するようなフックがないことに驚いたので、それは唯一の解決策です、私は答えを投稿しませんでした。 –

答えて

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); 
関連する問題