Hinzufügen / Entfernen von Aktionen für Plugins

Ich baue ein Woocommerce-Plugin (mit dem WP-Plugin Boilerplate), das seine eigenen Aktionen hinzufügt. Meine Fragen sind: –

  1. Beim Deaktivieren / Löschen des Plugins kümmert sich wordpress um das Entfernen der angelegten und hinzugefügten Aktionen oder müssen Sie das selbst implementieren?
  2. Beim Erstellen und Registrieren von Aktionen loader->add_action() es sich, dies im construct() einer class zu tun, oder sollte ich loader->add_action() ? Für zB

Basierend auf der Boilerplate habe ich folgendes

 private function define_admin_hooks() { $plugin_admin = new Wc_Shipping_Admin( $this->get_plugin_name(), $this->get_version() ); $this->loader->add_action( 'admin_enqueue_scripts', $plugin_admin, 'enqueue_styles' ); $this->loader->add_action( 'admin_enqueue_scripts', $plugin_admin, 'enqueue_scripts' ); $this->loader->add_action( 'woocommerce_shipping_init', $this, 'shipping_init_method'); 

in der shipping_init_method

 public function shipping_init_method() { require_once . '/admin/partials/shipping-init-methods.php'; require_once '/includes/class-wc-shipping-create-bill.php'; $this->_shipping_method = new Wc_Shipping_Method(); // instead of adding action when class above is created do this. Then in deactivator method remove action $this->loader->add_action('woocommerce_update_options_shipping_' . $this->_shipping_method->id, $this->_shipping_method->method, 'process_admin_options'); $this->loader->add_action('woocommerce_order_status_processing', $this->_shipping_method, 'createbill', 10, 1 ); // this is a class to add to custom action which is called when method from action above is executed $this->_bill_method = new Create(); $this->loader->add_action('wc_createb', $this->_bill_method, 'init', 1, 2 ); } 
  1. in Bezug auf Frage 2 …. ist es ratsam, dies zu tun, wenn ich die Aktionen registrieren und entfernen lassen muss, um mit jedem einzelnen Fall umzugehen. Für .Eg

Ich brauche nur folgendes

 // this is a class to add to custom action which is called when method from action above is executed $this->_bill_method = new Create(); $this->loader->add_action('wc_createb', $this->_bill_method, 'init', 1, 2 ); } 

Wenn $this->loader->add_action('woocommerce_order_status_processing', $this->_shipping_method, 'createbill', 10, 1 ); wird genannt. Sollte ich die class instanziieren und die Aktion innerhalb der createbill Methode createbill oder wie ich das oben bei der Initialisierung des Plugins gemacht habe?

Solutions Collecting From Web of "Hinzufügen / Entfernen von Aktionen für Plugins"