Запрос 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
стол.