全局$ post返回null OOP PHP

时间:2019-06-26 19:16:01

标签: php wordpress post

我正在尝试将postId放入我的插件中。因此它将注册访问该网站哪个页面的IP地址。但是,当我调用班级时,它返回null。



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。

编辑

起初,我认为这确实是个问题。但是我现在已经添加了该钩子,但仍然返回null。函数addRow已加载。但是我无法找回pageId

0 个答案:

没有答案