Не удаляются действия (хуки) в классе, добавленные через add_action
В теме вордпресс используется класс, в конструкторе которого настраиваются хуки add_action,remove_action.
Эти хуки в классе настраиваются как-то так:
add_action( 'woocommerce_before_main_content', array( $this, 'wrapper_start' ), 10 );
add_action( 'woocommerce_after_main_content', array( $this, 'wrapper_end' ), 10 );
add_filter('single_product_archive_thumbnail_size', array( $this, 'modify_product_thumbnail_size') );
пытаюсь переопределить так:
function theme_change_actions() {
remove_action('woocommerce_single_product_summary', array( 'Theme_WooCommerce', 'add_next_prev_product_to_single' ), 4);
}
add_action( 'init', 'theme_change_actions' );
но ничего не срабатывает. Theme_WooCommerce это имя класса, о котором идёт речь.
Можно ли как-то переопределить эти хуки в дочерней теме?
Ответы (1 шт):
Автор решения: WP Punk
→ Ссылка
Вы подключаете метод класса, а отключаете статический метод. Обычный метод относится к объекту, а статический к классу.
Чтобы удалить хук, который привязан к объекту используйте эту ф-цию отсюда https://gist.github.com/tripflex/c6518efc1753cf2392559866b4bd1a53
Пример:
remove_class_action('woocommerce_single_product_summary', array( 'Theme_WooCommerce', 'add_next_prev_product_to_single' ), 4);