Woocommerceの商品リストからリンクを削除したいのですが。ユーザーが商品詳細ページを見る必要はありません。代わりにクイックビューを使用します。とにかく、私は捜していました、そして、私が見つけたすべては時代遅れです。これが現在のcontent-product.php
ファイルです: https://github.com/woothemes/woocommerce/blob/master/templates/content-product.php そして単に削除するアンカータグはありません。
フックが必要かもしれませんが、どうすればよいかわかりません。私はいくつか試しましたが、リンクはまだそこにありました。例えばこれは私のfunctions.phpに追加されたときうまくいきませんでした:
add_filter('woocommerce_template_loop_product_link_open','mbc_remove_link_on_thumbnail' );
function mbc_remove_link_on_thumbnail($html){
return strip_tags($html,'<img>');
}
これも試してみましたが、うまくいきませんでしたが、近いと感じています。
remove_action ('woocommerce_before_shop_loop_item', 'woocommerce_template_loop_product_link_open', 10);
remove_action ('woocommerce_after_shop_loop_item', 'woocommerce_template_loop_product_link_close', 5);
私は正しい軌道に乗っているかどうか私にはわからない。任意の助けは大歓迎です!
私が行った方法は、content-product.phpのコピーを取り、それをあなたのテーマフォルダのルートに貼り付けることでした。
コメントアウト
do_action( 'woocommerce_before_shop_loop_item_title' );
そして
do_action( 'woocommerce_after_shop_loop_item' );
早くて汚いが、それは私のために働いた。
これを行うためのより良くより安全な方法は、リンクを開く&閉じるアクションを削除することです。これにより、カートに追加ボタンが消えるなどの副作用を防ぐことができます。
remove_action( 'woocommerce_before_shop_loop_item', 'woocommerce_template_loop_product_link_open', 10 );
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_product_link_close', 5 );
このコードを自分のfunctions.phpに追加することができます
私はこれを見つけました。
/**
* @snippet Disable Link to Products @ Loop
* @how-to Watch tutorial @ http://businessbloomer.com/?p=19055
* @sourcecode http://businessbloomer.com/?p=19916
* @author Rodolfo Melogli
* @testedwith WooCommerce 2.5.2
*/
// Close </a> tag just after it opens before product item
add_action( 'woocommerce_before_shop_loop_item_title','bbloomer_close_permalink', 10 );
function bbloomer_close_permalink() {
?>
</a>
<?php
}
// Open <a> tag just before it closes after product item
add_action( 'woocommerce_after_shop_loop_item_title','bbloomer_open_atag', 11);
function bbloomer_open_atag() {
?>
<a>
<?php
}
/**
* Explanation for the hack!
*
* Before the loop item, a link opens...
* After the loop item, a link closes...
* We're basically adding a close and open so that
* no content gets wrapped into <a>link</a>
*
* Check wc-template-functions.php lines 545-556:
*
* function woocommerce_template_loop_product_link_open() {
* echo '<a href="' . get_the_permalink() . '">';
* }
*
* function woocommerce_template_loop_product_link_close() {
* echo '</a>';
* }
*
*/
フォントソース: http://businessbloomer.com/woocommerce-disable-link-to-product-loop/ /