Всем привет, Пытаюсь запустить свой старый проект на WordPress 4.6 с PHP Version 7.0.8-0ubuntu0.16.04.2 и не запускается пользовательская функция активации плагина которая была завернута в обьект : Код | if (!class_exists('ArtistsSongs')) { class ArtistsSongs { protected $m_plugin_name; protected $m_plugin_dir; protected $m_plugin_url;
public function __construct() { DebToFile('__construct $_GET::'.print_r($_GET,true));
DEFINE('ArtistsSongs', true); // Pluging is inited ... $this->m_plugin_name = "/wp-admin/options-general.php?page=". plugin_basename(__FILE__);
$this->m_plugin_dir = trailingslashit(WP_PLUGIN_DIR.'/'.dirname(plugin_basename(__FILE__))); $this->m_plugin_url = trailingslashit(WP_PLUGIN_URL.'/'.dirname(plugin_basename(__FILE__)));
DebToFile('__construct $this->m_plugin_name::'.print_r($this->m_plugin_name,true)); DebToFile('__construct $this::'.print_r($this,true)); register_activation_hook( $this->m_plugin_name, array($this, 'activate') ); register_deactivation_hook( $this->m_plugin_name, array($this, 'deactivate') ); // register_activation_hook( $this->m_plugin_name, array(&$this, 'activate') ); //Изначально с 5php был вызов с адрессацией // register_deactivation_hook( $this->m_plugin_name, array(&$this, 'deactivate') );
if ( is_admin() ) { // That is admin page ...
public function activate() { DebToFile('-InitDBStructure activate ::' .print_r(1111,true) ); global $wpdb; ob_start(); $ArtistsSongsDBObj = new ArtistsSongsDB( $wpdb, $this->m_plugin_dir, $this->m_plugin_url ); DebToFile('-0 activate $ArtistsSongsDBObj::' .print_r($ArtistsSongsDBObj,true) ); $ret= $ArtistsSongsDBObj->InitDBStructure(true); $output = ob_get_contents (); ob_end_clean (); DebToFile('-InitDBStructure $output ::' .print_r($output,true) ); return $ret; }
public function deactivate() { DebToFile('-InitDBStructure deactivate ::' .print_r(222222,true) ); global $wpdb; $ArtistsSongsDBObj = new ArtistsSongsDB($wpdb); $ret= $ArtistsSongsDBObj->ClearDBStructure(); nsnClass_appData::deactivatePlugins( array('nsn-source-selection/nsn-source-selection-plugin.php', 'nsn-voting-reports/nsn-voting-reports-plugin.php' ) ); return $ret; }
|
... DebToFile - функция вывода отладочной инфы в файл и получается такой вывод : Код | __construct $_GET::Array ( [action] => activate [plugin] => artistssongs/artists-songs-plugin.php [plugin_status] => all [paged] => 1 [s] => [_wpnonce] => d30f14ba11 )
__construct $this->m_plugin_name::/wp-admin/options-general.php?page=artistssongs/artists-songs-plugin.php __construct $this::ArtistsSongs Object ( [m_plugin_name:protected] => /wp-admin/options-general.php?page=artistssongs/artists-songs-plugin.php [m_plugin_dir:protected] => /mnt/_work_sdb8/wwwroot/wp-songs/wp-content/plugins/artistssongs/ [m_plugin_url:protected] => http://local-wp-songs.com/wp-content/plugins/artistssongs/ )
|
То есть, срабатывает конструктор обьекта но нет вызова пользовательской функции активации... Не понятно из-за чего? Я просмотрел новые фичи как WordPress 4.6 так и PHP 7 но не вижу из-за чего может быть проблема... Спасибо!
|