Как записать в свойство php класса данные из wpdb->get_results() Wordpress? Допустим имеется класс "User", приватное свойство id и приватное свойство, в котором должны содержаться данные, полученные с помощью wpdb->get_results(). Не могу сообразить, как реализовать этот запрос внутри класса. В общем хочу вот так:class User{
private $id;
private $data_from_wbdb_get_results;
publick function __construct($id){
$this->id = $id;
$this->data_from_wbdb_get_results = $wpdb->get_results("SELECT * FROM table WERE id=$this->id");
}
}
Это разумеется не работает, не знаю как правильно сделать. Как объявить global $wpdb в классе или что то в этом роде ...

21 Авг 2019 в 06:58
187 +2
0
Ответы
1

Для использования глобальной переменной $wpdb внутри класса можно передать ее в конструктор класса. Вот как можно модифицировать ваш класс User:

class User{
private $id;
private $data_from_wbdb_get_results;
private $wpdb;
public function __construct($id, $wpdb){
global $wpdb;
$this->id = $id;
$this->wpdb = $wpdb;
$this->data_from_wbdb_get_results = $wpdb->get_results("SELECT * FROM table WHERE id={$this->id}");
}
}

Использование класса выглядело бы примерно так:

global $wpdb;
$user = new User(1, $wpdb);
// Для доступа к данным из wpdb->get_results()
$data = $user->data_from_wbdb_get_results;

Таким образом, вы передаете глобальную переменную $wpdb в конструктор класса User и сохраняете ее в приватном свойстве $wpdb. Затем вы можете использовать $wpdb для выполнения запроса внутри вашего класса.

20 Апр 2024 в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир