global $ post возвращает ноль ООП PHP - PullRequest
0 голосов
/ 26 июня 2019

Я пытаюсь получить postId внутри моего плагина.Так он будет регистрировать, по какому ip-адресу посетила какая страница сайта.Но когда я вызываю мой класс, он возвращает ноль.



namespace Flx\Host\Helpers;


class Database
{

    protected $wpdb;
    protected $post;

    public function __construct()
    {
        add_action('init', [$this, 'addRow']);
    }

    public function getRow()
    {


    }

    public  function addRow()
    {
        global $post;
        var_dump($post->ID);

        global $wpdb;
        $table = $wpdb->prefix . 'xx';
        $data = array('ip' => 123, 'page' => 'example');
        $format = array('%d', '%s');
        $wpdb->insert($table, $data, $format);

    }

    public  function makeTable()
    {

        global $wpdb;

        $table_name = $wpdb->prefix . 'NoSpam';
        $charset_collate = $wpdb->get_charset_collate();
        $sql = "CREATE TABLE $table_name (
        id mediumint(9) NOT NULL AUTO_INCREMENT,
        ip BINARY(16) NOT NULL,
        page varchar(225) NOT NULL,
        PRIMARY KEY  (id)
    ) $charset_collate;";

        require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
        dbDelta($sql);

    }

}

Моя глобальная функция $ wpdb работает нормально.Поэтому я думаю, что $ post может быть загружен, но не может найти страницу.AddRow вызывается из другой функции.

Edit

Сначала я подумал, что это действительно зацепка.Но сейчас я добавил хук и все равно получил ноль обратно.Функция addRow загружена.Но я не могу получить страницу назад

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...