1

WordPressにフックされた関数を無効にする手順は何ですか?それは、WC-テンプレートhooks.phpでの浮きれWooCommerceでフックされた関数をオーバーライドする

function woocommerce_template_loop_product_link_close() { 
    echo '</a>'; 
} 

WC-テンプレートのfunctions.phpに次の関数は、私が上書きしているよ機能の一つであります:

add_action('woocommerce_after_shop_loop_item', 'woocommerce_template_loop_product_link_close', 5); 

私は、次のコードを記述する場合、関数は、その後を外される:

function remove_default_wc_behaviour() { 
    remove_action('woocommerce_after_shop_loop_item', 'woocommerce_template_loop_product_link_close', 5); 
} 

add_action('init', 'remove_default_wc_behaviour'); 

しかし、関数をオーバーライドする場合、どうすればよいですか? WooCommerceの既定の機能の代わりに自分の機能を実装しますか?

最初にremove_action()を呼び出してから、add_action()で私の機能をフックするか、または私のWooCommerceでフックされている機能を単純に無効にできる手順がありますか?事前

+0

あなたがしたことは絶対に正しいです....それは正確な方法です – Alice

+0

ありがとうございました:)私は答えとして投稿してください、そして私はそれを正しいものとしてマークします –

+0

それは大丈夫です...すべてがうまくいき、誰もがコード構造に従っていると聞いてうれしいです。 – Alice

答えて

1

おかげで最初のオプションが正しいものである:initアクションフックに引っかけ、あなたの主な機能で、あなたの交換のフック機能を追加することができます。

add_action('init', 'replace_default_wc_behaviour'); 
function remove_default_wc_behaviour() { 
    // remove the default behavior 
    remove_action('woocommerce_after_shop_loop_item', 'woocommerce_template_loop_product_link_close', 5); 

    // Replace by your custom behavior 
    add_action('woocommerce_after_shop_loop_item', 'custom_WC_loop_product_link_close', 5); 
    function custom_WC_loop_product_link_close() { 
     // Do your custumizations 

     // add the close tag 
     echo '</a>'; 
    } 
} 

コードに行きますあなたのアクティブな子供のテーマ(またはテーマ)の、または任意のプラグインファイルのfunction.phpファイル。

関連する問題