外部製品ページに属性target="_blank"
を追加できましたが、親(グループ化された製品)ページのリンクを変更できないようです。新しいタブで外部WooCommerce製品を開く - 属性target = "_ blank"を追加
私はexternal.phpを修正し、実際のリンク自体にタグを追加することでこれを行うことができました。私は、この属性を追加するためにグループ化された製品の親ページ上のリンクを変更するにはどうすればよい
<p class="cart">
<?php sdnetwork(); sdcondition(); parent_permalink_button(); ?><a href="<?php echo esc_url($product_url); ?>" target="_blank" rel="nofollow" class="single_add_to_cart_button button alt"><img src="/wp-content/themes/wootique-child/images/icons/new_tab_icon.gif" alt="Opens in New Tab"> <?php echo esc_html($button_text); ?></a>
</p>
は、私の最初に考えたのはgrouped.phpを変更することでしたが、リンクが異なっ生成されます。
<?php woocommerce_template_loop_add_to_cart(); ?>
上記の生成されたリンクに自分のタグを追加するにはどうすればよいですか?私はフックを使用することを考えましたが、私はいくつかの助けが必要です。
EDIT:そう.....
jQuery(document).ready(function($) {
$(".button.product_type_external").each(function() {
$(this).find("a").attr("target", "_blank");
});
});
問題は、ページがロードされるときに、リンクのほとんどが隠されていると私は心配しているように私はjQueryのを使用することができれば
が不思議これはたくさんのリソースを消費するか、それともそれになりますか? jQueryの新機能cale_bのおかげ解決
http://mobilereactor.co.uk/shop/mobile-phones/sony-xperia-z5-compact-coral-deals/
EDIT:あなたは、コードをトレースした場合
add_filter('woocommerce_loop_add_to_cart_link', 'add_target_blank', 10, 2);
function add_target_blank($link, $product){
global $post;
$product = get_product($post->ID);
if($product->is_type('external')){
// I simply added target="_blank" in the line below
$link = sprintf('<a rel="nofollow" href="%s" target="_blank" data-quantity="%s" data-product_id="%s" data-product_sku="%s" class="%s">%s</a>',
esc_url($product->add_to_cart_url()),
esc_attr(isset($quantity) ? $quantity : 1),
esc_attr($product->id),
esc_attr($product->get_sku()),
esc_attr(isset($class) ? $class : 'button'),
esc_html($product->add_to_cart_text())
);
return $link;
} else {
// I simply remove target="_blank" in the line below
$link = sprintf('<a rel="nofollow" href="%s" data-quantity="%s" data-product_id="%s" data-product_sku="%s" class="%s">%s</a>',
esc_url($product->add_to_cart_url()),
esc_attr(isset($quantity) ? $quantity : 1),
esc_attr($product->id),
esc_attr($product->get_sku()),
esc_attr(isset($class) ? $class : 'button'),
esc_html($product->add_to_cart_text())
);
return $link;
}
}
のjQueryを使用しないでください。このような何かをPHP。あなたの 'external.php'のようにリンクを上書きするテンプレートがあります。リンクしたテンプレートは大幅に変更されているので、もう少し私たちに協力してもらう必要があります。上記のあなたのリンクでは、どのテンプレートを見ていますか? –
リンクの上にあるgrouped.phpの改造版 – Scott
リンクは '' '<?php woocommerce_template_loop_add_to_cart();によって生成されると思います。 ?> '' 'grouped.phpでどうやってモディファイするか分からない? – Scott