Пользовательский SQL запрос для страницы WordPress
Я новичок в WordPress. Пытаюсь создать табличное представление на странице WordPress. Для этого мне нужен пользовательский SQL запрос к моей базе данных MySQL.
- Запросить данные из моей базы данных MySQL
- Каким-то образом получить результат в HTML формате для отображения в виде таблицы на странице WordPress.
Мой вопрос: Как я могу использовать класс wpdb на странице WordPress, если нет возможности вставлять PHP код прямо в страницу?
Объект wpdb
может использоваться для выполнения произвольных запросов к базе данных WordPress. Допустим, вы хотите вывести список 4 последних записей:
$results = $wpdb->get_results( "SELECT * FROM $wpdb->posts WHERE `post_type`='post' LIMIT 4" );
Переменная $wpdb->posts
выводит название таблицы с записями. Обычно это wp_posts
, но если используется пользовательский префикс базы данных, название может отличаться.
Однако, если вам нужно получить данные записей (или пользовательских типов записей, метаданных, информации о пользователях и т.д. — всего, что встроено в WordPress), лучше использовать WP_Query
.
Вот тот же запрос, переписанный с использованием WP_Query
:
$query = new WP_Query(
array(
'post_type' => 'post', // Тип записи
'posts_per_page' => 4 // Количество записей на странице
)
);
Преимущество использования WP_Query
в том, что он автоматически соединяется с таблицей метаданных записей и возвращает массив объектов WP_Post
, с которыми можно работать и перебирать в цикле.

<?php
global $wpdb;
$post_id = $wpdb->get_results("SELECT post_id FROM $wpdb->postmeta WHERE (meta_key = 'mfn-post-link1' AND meta_value = '". $from ."')");
print_r($post_id); /
?>
Объявляем глобальную переменную $wpdb, затем выполняем пользовательский запрос и передаем в $wpdb->get_results();
