запуск старого проекта на WordPress 4.6/PHP7

Всем привет,
Пытаюсь запустить свой старый проект на 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 но не вижу из-за чего может быть проблема…

Спасибо!

Anonymous
Отправить
Ответ на: