#php #database #wordpress #class
Вопрос:
Я работаю над настройкой плагина для встреч в wordpress. Существует функция, которая отображает все встречи в разделе администратора плагина wp. Я хочу повторить результат запроса, так как он отображает результаты только до определенного id
момента . Я хочу отобразить результирующий набор, хранящийся в переменной $apps
. Вот функция, в dbmodels.php
которой записаны все запросы, связанные с базой данных. Когда я это делаю var_dump($apps)
, страница «Встречи» в разделе «Администратор плагина» ничего не отображает. Я новичок в плагинах wordpress, поэтому не могу понять, что происходит не так. Пожалуйста, некоторая помощь будет очень полезна. Вот функция внутри класса:
public function get_all_appointments($data)
{
$tableName = $this->wpdb->prefix . 'ea_appointments';
$params = array(
$data['from'],
$data['to']
);
$location = '';
$service = '';
$worker = '';
$status = '';
if (array_key_exists('location', $data)) {
$location = ' AND location = %d';
$params[] = $data['location'];
}
if (array_key_exists('service', $data)) {
$service = ' AND service = %d';
$params[] = $data['service'];
}
if (array_key_exists('worker', $data)) {
$worker = ' AND worker = %d';
$params[] = $data['worker'];
}
if (array_key_exists('status', $data)) {
$status = ' AND status = %s';
$params[] = $data['status'];
}
$query = "SELECT *
FROM $tableName
WHERE 1 AND date >= %s AND date <= %s {$location}{$service}{$worker}{$status}
ORDER BY id DESC";
$apps = $this->wpdb->get_results($this->wpdb->prepare($query, $params), OBJECT_K);
$ids = array_keys($apps);
if (!empty($ids)) {
$fields = $this->get_fields_for_apps($ids);
foreach ($fields as $f) {
if (array_key_exists($f->app_id, $apps)) {
$apps[$f->app_id]->{$f->slug} = $f->value;
}
}
}
return array_values($apps);
}