Skip to content
Snippets Groups Projects

WIP: Activation?

Closed Krzysztof Dyszczyk requested to merge feature/activation-hooks into master
1 unresolved thread
1 file
+ 51
4
Compare changes
  • Side-by-side
  • Inline
+ 51
4
@@ -42,14 +42,28 @@ abstract class AbstractPlugin implements \WPDesk_Translable {
@@ -42,14 +42,28 @@ abstract class AbstractPlugin implements \WPDesk_Translable {
public function init() {
public function init() {
$this->init_base_variables();
$this->init_base_variables();
 
$this->register_plugin_hooks();
$this->hooks();
$this->hooks();
}
}
 
/**
 
* Register plugin activation & deactivation hooks.
 
*/
 
public function register_plugin_hooks() {
 
register_activation_hook( $this->plugin_info->get_plugin_file_name(), array( $this, 'plugin_activation' ) );
    • Chciałem dodać metody dla aktywacji i deaktywacji. To rozwiazanie nie zadziała, bo register_activation_hook nie odpala metody plugin_activation

      Czyli tylko pozostaje rozwiązanie, że hooki aktywacji wrzucamy bezpośrednio do pliku. Chyba, że znasz lepsze rozwiazanie. Trochę wtyczke korzysta z hooków aktywacji, dlatego pomyślałem, żeby abstractPlugin miał takie metody.

      By Piotr Po on 2019-09-21T08:41:47 (imported from GitLab)

      • aktywacja nie działa w plugins_loaded więc nie ma sensu jej dawać w init. Wydaje mi się, że trzeba byłoby to uwzględnić w plugin flow, że jeśli klasa np. implementuje interfejs i ma odpowiednie metody, to plugin flow odpala te metody zanim przejdzie dalej.

        By Dyszczo on 2019-09-23T09:37:28 (imported from GitLab)

      • Please register or sign in to reply
Please register or sign in to reply
 
register_deactivation_hook( $this->plugin_info->get_plugin_file_name(), array( $this, 'plugin_deactivation' ) );
 
}
 
 
/***
 
* Init base variables.
 
*/
public function init_base_variables() {
public function init_base_variables() {
$this->plugin_url = plugin_dir_url( $this->plugin_info->get_plugin_dir() );
$this->plugin_url = plugin_dir_url( $this->plugin_info->get_plugin_dir() );
}
}
/**
/**
 
* Fires hooks.
 
*
* @return void
* @return void
*/
*/
protected function hooks() {
protected function hooks() {
@@ -66,6 +80,8 @@ abstract class AbstractPlugin implements \WPDesk_Translable {
@@ -66,6 +80,8 @@ abstract class AbstractPlugin implements \WPDesk_Translable {
}
}
/**
/**
 
* Get file path.
 
*
* @return string
* @return string
*/
*/
public function get_plugin_file_path() {
public function get_plugin_file_path() {
@@ -73,6 +89,8 @@ abstract class AbstractPlugin implements \WPDesk_Translable {
@@ -73,6 +89,8 @@ abstract class AbstractPlugin implements \WPDesk_Translable {
}
}
/**
/**
 
* Get plugin.
 
*
* @return $this
* @return $this
*/
*/
public function get_plugin() {
public function get_plugin() {
@@ -80,6 +98,7 @@ abstract class AbstractPlugin implements \WPDesk_Translable {
@@ -80,6 +98,7 @@ abstract class AbstractPlugin implements \WPDesk_Translable {
}
}
/**
/**
 
* Load plugin text domain.
* @return void
* @return void
*/
*/
public function load_plugin_text_domain() {
public function load_plugin_text_domain() {
@@ -87,6 +106,8 @@ abstract class AbstractPlugin implements \WPDesk_Translable {
@@ -87,6 +106,8 @@ abstract class AbstractPlugin implements \WPDesk_Translable {
}
}
/**
/**
 
* Get text domain.
 
*
* @return string
* @return string
*/
*/
public function get_text_domain() {
public function get_text_domain() {
@@ -94,17 +115,25 @@ abstract class AbstractPlugin implements \WPDesk_Translable {
@@ -94,17 +115,25 @@ abstract class AbstractPlugin implements \WPDesk_Translable {
}
}
/**
/**
 
* Get namespace.
 
*
* @return string
* @return string
*/
*/
public function get_namespace() {
public function get_namespace() {
return $this->plugin_namespace;
return $this->plugin_namespace;
}
}
 
/**
 
* Get plugin assets.
 
*
 
* @return string
 
*/
public function get_plugin_assets_url() {
public function get_plugin_assets_url() {
return esc_url( trailingslashit( $this->get_plugin_url() . 'assets' ) );
return esc_url( trailingslashit( $this->get_plugin_url() . 'assets' ) );
}
}
/**
/**
 
* Get plugin URL.
*
*
* @return string
* @return string
*/
*/
@@ -112,18 +141,22 @@ abstract class AbstractPlugin implements \WPDesk_Translable {
@@ -112,18 +141,22 @@ abstract class AbstractPlugin implements \WPDesk_Translable {
return esc_url( trailingslashit( $this->plugin_url ) );
return esc_url( trailingslashit( $this->plugin_url ) );
}
}
 
/**
 
* Enqueue backend scripts
 
*/
public function admin_enqueue_scripts() {
public function admin_enqueue_scripts() {
}
}
 
/**
 
* Enqueue frontend scripts
 
*/
public function wp_enqueue_scripts() {
public function wp_enqueue_scripts() {
}
}
/**
/**
* action_links function.
* Add custom plugin links.
*
* @access public
*
*
* @param mixed $links
* @param array $links Plugin links.
*
*
* @return array
* @return array
*/
*/
@@ -152,5 +185,19 @@ abstract class AbstractPlugin implements \WPDesk_Translable {
@@ -152,5 +185,19 @@ abstract class AbstractPlugin implements \WPDesk_Translable {
return $links;
return $links;
}
}
 
/**
 
* Plugin activation hook
 
*/
 
public function plugin_activation() {
 
 
}
 
 
/**
 
* Plugin deactivation hook
 
*/
 
public function plugin_deactivation() {
 
 
}
 
}
}
Loading