Понимание схемы базы данных Wordpress - запрос из стороннего приложения - PullRequest
0 голосов
/ 14 мая 2010

Существует ли простой способ извлечь последние сообщения из таблицы Wordpress wp_posts с помощью простого SQL-запроса?

У меня установлена ​​Wordpress 2.9.2 как часть большой системы, но отдельно от нее. Он имеет настроенную тему, похожую на остальную часть сайта, но в остальном не имеет к этому никакого отношения. Я хочу отобразить последние несколько заголовков сообщений, сделанных с использованием Wordpress, на сайте этой другой системы. Желательно, чтобы я не хотел возиться с импортом каких-либо файлов библиотеки Wordpress.

Глядя на структуру базы данных, я не вижу простого, простого запроса, чтобы просто получить последнюю версию последних сообщений. post_status может быть «post» или «наследовать», post_type «post» или «revision» и родительский «0» или id исходного сообщения ревизии. Я не могу понять, как надежно отфильтровать разные ревизии одного и того же поста, черновики, вложения и страницы из этого беспорядка и просто получить последнюю ревизию последних постов.

Мне известно, что схема базы данных может быть изменена в последующих версиях Wordpress, поэтому на нее не следует полагаться, но это незначительное беспокойство, поскольку это такая незначительная функция, которую легко исправить. Если я понял, как должна работать эта база данных, то есть.

1 Ответ

2 голосов
/ 14 мая 2010

Вы ищете все сообщения, в которых post_status = publish и post_type = post.

Таблица сообщений WordPress также включает страницы, ревизии и вложения ... вот почему вам нужно быть конкретным.

Если вы используете схему базы данных по умолчанию (с wp_ в качестве префикса таблицы), следующий запрос даст вам то, что вам нужно:

SELECT post_title FROM wp_posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY post_date DESC

Это даст вам список самых последних заголовков (заголовков сообщений) из опубликованных сообщений, упорядоченных по дате (с самыми последними вверху). Нет необходимости импортировать какие-либо основные библиотеки WordPress. Просто убедитесь, что случайно не настроили базу данных при непосредственном доступе к ней, иначе вы можете что-то сломать в WordPress.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...