Запрос WordPress сообщений с помощью языка Polylang на MySQL

Я пытаюсь создать запрос MySQL для выбора последнего поста по языку (плагин Polylang), но я не могу найти, какую таблицу и поле хранит язык каждого поста в Polylang. Любая подсказка?

2 ответа

Следующий запрос mysql найдет все опубликованные сообщения wordpress, написанные на en-языке плагина polylang:

SELECT * FROM wp_posts WHERE post_status = 'publish' AND ID IN (
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(description, '"en";i:', -1), ';',1) FROM `wp_term_taxonomy` WHERE `taxonomy` = 'post_translations' ) order by ID desc

Я знаю, что слишком поздно отвечать на ваш вопрос, но я напишу его для будущих пользователей.

вы можете найти все, что связано сPolylangв и таблицы.

например, если я хочу получить язык определенного поста с id = .

вobject_idстолбец, который я должен искать, и я получу

      object_id | term_taxonomy_id
----------------------------
  157896  |     26284
  157896  |     26130
  157896  |      11

И вwp_term_taxonomyу нас есть:

      term_taxonomy_id | taxonomy | description
---------------------------------------------
26284 | post_translations | a:2:{s:2:"en";i:157896;s:2:"de";i:157894;}
26130 | category | Description ... ...
11    | language | a:3:{s:6:"locale";s:5:"en_UK";s:3:"rtl";i:0;s:9:"flag_code";s:2:"en";}

26130относится к категории

26280означает, что это сообщение переведено на и языки, а номер сообщения для157896и номер постаdeявляется157894

11означает пост сid = 157896вen(Английский язык.

wp_term_relationshipsэтоpivotстол.

Другие вопросы по тегам