Функция, которая прикреплена в хуке WordPress, не запускается автоматически, и она хранится в мегаполисе __construct ()? - - PullRequest
0 голосов
/ 28 октября 2019

У меня есть основной файл плагина, который называется main-plugin.php , и внутри этого файла я добавляю файл wpll-license.php .

Теперь для этого основного плагина. Я использую класс под названием MyClass . Здесь вы можете видеть, что я вызываю wpll_settings_ajax метод для создания экземпляра класса WPLL_License.

Теперь в файле wpll-license.php я использовал __construct() мегаполис для автоматического запуска метода test().

Но этот метод test() не запускается автоматически, когда я создаю экземпляр этого класса, используя new WPLL_License(); из основного файла плагина. Я должен использовать $WPLL_License->test(); почему?

Есть ли что-то, что я забыл о PHP OOP или sth :(

<?php
// main-plugin.php file
require_once 'includes/wpll-license.php';
class MyClass { 
    private function __construct(){   
        add_action('wp_ajax_nonce_settings_action', array($this, 'wpll_settings_ajax'));        
    }

    public function wpll_settings_ajax() {      
        $WPLL_License = new WPLL_License();     
    }
}

// wpll-license.php file is in includes directory.
class WPLL_License {    
    public function __construct() {     
        add_action('admin_init', array($this, 'test'), 10 );
    }

    public function test() {
        // osme code...
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...