在我的網站上,我添加了一個懸停效果來顯示一個愿望清單圖示,但是當您單擊該圖示時,您會轉到產品頁面,而不是運行 ajax 腳本來將當前產品添加到愿望清單中。
我知道我可以使用insertAfterjQuery 輕松做到這一點,但在此之前我想知道 WooCommerce 中是否有“更清潔”的解決方案?
我也嘗試過使用 CSS pointer-events:none,但這并沒有達到預期的效果。
目前這是標記:
<a>
<div class"wishlist">My icon</div>
<img>
<h2 class="woocommerce-loop-product__title">
</a>
如何使用鉤子和過濾器編輯 WooComerce 以便我可以移動<div class"wishlist">My icon</div>外部<a>?
像:
<div class"wishlist">My icon</div>
<a>
<img>
<h2 class="woocommerce-loop-product__title">
</a>
現在我使用該操作woocommerce_before_shop_loop_item來顯示愿望清單圖示。
uj5u.com熱心網友回復:
使用沒有優先級編號的鉤子時,例如:
function action_woocommerce_before_shop_loop_item() {
echo '<div class"wishlist">My icon</div>';
}
add_action( 'woocommerce_before_shop_loop_item', 'action_woocommerce_before_shop_loop_item' );
WooCommerce 中默認使用優先級 10。
但是,在/templates/content-product.php中我們可以看到回呼函式woocommerce_template_loop_product_link_open已經包含優先級 10:
* Hook: woocommerce_before_shop_loop_item.
*
* @hooked woocommerce_template_loop_product_link_open - 10
*/
do_action( 'woocommerce_before_shop_loop_item' );
在/includes/wc-template-hooks.php中有:
add_action( 'woocommerce_before_shop_loop_item', 'woocommerce_template_loop_product_link_open', 10 );
因此,您必須確保您的自定義代碼在默認操作之前執行,這可以通過調整優先級數來完成,例如為 1:
function action_woocommerce_before_shop_loop_item() {
echo '<div class"wishlist">My icon</div>';
}
add_action( 'woocommerce_before_shop_loop_item', 'action_woocommerce_before_shop_loop_item', 1 );
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/476688.html
標籤:WordPress woocommerce 钩woocommerce
