Я пытаюсь получить 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 загружена.Но я не могу получить страницу назад