如何删除这种特殊类型的操作

时间:2017-09-16 23:14:25

标签: php wordpress wordpress-theming

在我的父主题中,有一个我想删除的动作钩子:

add_action( 'woocommerce_proceed_to_checkout', array( $this, 'proceed_to_checkout' ), 10 );

并且我想从子主题中删除此操作,我尝试了以下3件事,到目前为止还没有工作:

  1. remove_action( 'woocommerce_proceed_to_checkout', array( $this, 'proceed_to_checkout' ), 10 );

  2. remove_action( 'woocommerce_proceed_to_checkout', 'proceed_to_checkout', 10 );

  3. 我在子主题中创建了一个文件 foobar.php ,然后将其包含在 functions.php

  4. 这是 foobar.php

    的代码
    <?php 
    
    class Foobar extends Parent_Woocommerce {
    
        public function __construct() {
            remove_action( 'woocommerce_proceed_to_checkout', array( $this, 'proceed_to_checkout' ), 10 );
            }
    public function proceed_to_checkout() {
        return ;
        }
    
    }
    
    ?>
    

1 个答案:

答案 0 :(得分:0)

感谢所有帮助人员,以下是对我有用的:

add_action('wp_head', 'koko', 99);
//add_action( 'plugins_loaded', 'koko', 99); this action not worked 
function koko() {
    global $parent_woocommerce;
    // remove_action( 'woocommerce_proceed_to_checkout', array( 'Parent_Woocommerce', 'proceed_to_checkout' ), 10 ); class name trick not working here
    remove_action( 'woocommerce_proceed_to_checkout', array( $parent_woocommerce, 'proceed_to_checkout' ), 10 );
}