Intereting Posts
Как защитить экран плагина от воздействия на CSS темы Как заказать тип сообщения с meta_value_num и если meta_value_num не существует, то порядок по дате эхо задайте конкретную мета-страницу, запрошенную через пользовательский пост Обновление метаданных пользователя при выходе из системы Один блог внутри другого Используя ходок меню, добавьте пользовательский элемент в конце пунктов меню Загружать среду WordPress для внешнего контента? Возьмитесь в цикл через плагин и выведите что-нибудь после каждого сообщения X? Загрузка файла Ajax на начальном этапе wordpress wp_enqueue_script () не работает Штрих-код для печати заголовков сообщений Ошибки XML-RPC, они знают мое имя пользователя? wp_star_rating () – добавление 5-звездной рейтинговой системы в тему Создание сайта каталога подкастов – как разрешить пользователю загружать «большие» файлы? Обновление WordPress перезапишет изменения файлов?

Извлечение почтовых категорий

Я в середине помогаю коллеге переконфигурировать базу данных WordPress для использования на другой платформе. В базе данных содержатся подробные сведения о всех постах и ​​сопроводительных метаданных и т. Д.

Одна из вещей, за которые я застрял, – это определить, как соотнести каждое сообщение со своей категорией WordPress. По сути, я бы хотел, чтобы вытащить каждое сообщение с соответствующей категорией в электронную таблицу, и, чтобы иметь возможность сделать это, я, очевидно, должен знать их отношения в таблицах.

Может ли кто-нибудь указать мне в правильном направлении? Любая помощь была бы искренне оценена. Спасибо.

В WordPress есть таблица, называемая * wp_term_relationships *, чтобы отслеживать несколько типов отношений, включая пост-категорию.

Пойдем по столу:

  1. wp_posts – содержит все сообщения, страницы и другой контент. Вы хотите опросить все строки, у которых есть -> post_type = post . Вы можете опросить только опубликованные сообщения -> post_status = publish

  2. wp_term_relationships – столбец object_id будет содержать идентификатор сообщения, а term_taxonomy_id будет содержать идентификатор категории.

  3. wp_term_taxonomy – эта таблица будет содержать информацию о каждой таксономии. Не все таксономии являются категориями WordPress. Таким образом, вы захотите опросить только те термины, которые имеют -> taxonomy = category .

  4. wp_terms – В этой таблице содержится информация о терминах . У вас уже есть term_id в таблице выше, но вы не знаете, что это имя. Вы можете получить это отсюда.

Ваш оператор SQL будет выглядеть так:

SELECT wp_posts.post_title, wp_posts.ID, wp_terms.name FROM wp_posts LEFT JOIN wp_term_relationships ON wp_posts.ID=wp_term_relationships.object_id LEFT JOIN wp_term_taxonomy ON wp_term_taxonomy.term_taxonomy_id=wp_term_relationships.term_taxonomy_id LEFT JOIN wp_terms ON wp_terms.term_id=wp_term_taxonomy.term_id WHERE wp_posts.post_type = "post" AND wp_posts.post_status = "publish" AND wp_term_taxonomy.taxonomy = "category"