Я пытаюсь удалить действие, добавленное плагином Woocommerce Memberships.Возвращение к действиям содержит функции, которые изначально добавляются в ловушку в
class WC_Memberships_Frontend {
public function __construct() {
add_action( 'woocommerce_thankyou', array( $this, 'maybe_render_thank_you_content' ), 9 );
Но этот класс вызывается частной функцией и защищен переменной, которую объявил родительский класс (насколько я могускажи)
class WC_Memberships extends Framework\SV_WC_Plugin {
protected $frontend;
private function frontend_includes() {
// init shortcodes
require_once( $this->get_plugin_path() . '/includes/class-wc-memberships-shortcodes.php' );
\WC_Memberships_Shortcodes::initialize();
// load front end
$this->frontend = $this->load_class( '/includes/frontend/class-wc-memberships-frontend.php', 'WC_Memberships_Frontend' );
}
Я искал и пробовал несколько способов удалить эту
remove_action( 'woocommerce_thankyou', array( 'WC_Memberships', 'maybe_render_thank_you_content' ), 9 );
remove_action( 'woocommerce_thankyou', array( 'WC_Memberships_Frontend', 'maybe_render_thank_you_content' ), 9 );
global $WC_Memberships;
remove_action( 'woocommerce_thankyou', array( $WC_Memberships, 'maybe_render_thank_you_content' ), 9 );
global $WC_Memberships_Frontend;
remove_action( 'woocommerce_thankyou', array( $WC_Memberships_Frontend, 'maybe_render_thank_you_content' ), 9 );
Ни одну из вышеперечисленных работ, а также другие способы попытки вызвать WC_Memberships()->frontend;
сгенерировать ошибкикак 'Невозможно получить доступ к защищенному свойству WC_Memberships :: $ frontend'
Я не уверен, мешают ли частная функция или защищенная переменная, или я просто не понимаю что-то об удалении действия в классе или вложенномклассы, но помощь будет очень приветствуется.
Редактировать: На основе кода, найденного здесь Я пытался
remove_action( 'woocommerce_thankyou', array( wc_memberships()->get_frontend_instance(), 'maybe_render_thank_you_content', 9 ) );
, но все еще безуспешно.