Abfrage von WordPress-Beiträgen nach Polylang-Sprache auf MySQL

Lesezeit: 2 Minuten

Ich versuche, eine MySQL-Abfrage zu erstellen, um den letzten Beitrag nach Sprache auszuwählen (Polylang-Plugin), aber ich kann nicht finden, in welcher Tabelle und in welchem ​​Feld Polylang die Sprache jedes Beitrags speichert. Irgendeine Ahnung?

  • Ich denke, die Informationen über das Mapping werden in der gespeichert wp_term_taxonomy Tisch. Es ist ein Array mit Ihren Gebietsschemas und der Post-ID. SELECT * FROM `wp_term_taxonomy` WHERE `taxonomy` = 'post_translations'

    – 4lxndr

    3. Dezember 2017 um 13:22 Uhr


  • Danke, dass du mich in die richtige Richtung weist. Gibt es Informationen zu den Codes, die Polylang beim Erstellen der wp_term_taxonomy.description-Feldwerte verwendet?

    – Matthias Masso

    3. Dezember 2017 um 16:09 Uhr

Die folgende MySQL-Abfrage findet alle veröffentlichten WordPress-Beiträge, die in der Sprache des Polylang-Plugins vorliegen:

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

  • Ernsthaft hilfreich!

    – José Faber

    18. Mai 2021 um 13:58 Uhr

  • Ich wünschte, ich könnte dies mehr positiv bewerten.

    – ACJ

    26. März um 9:07 Uhr

Benutzer-Avatar
Raskul

Ich weiß, es ist zu spät, um Ihre Frage zu beantworten, aber ich werde sie für zukünftige Benutzer schreiben.

finden Sie alles rund um Polylang in wp_term_relationships und wp_term_taxonomy Tische.

Zum Beispiel, wenn ich die Sprache eines bestimmten Beitrags mit id = erhalten möchte 157896.

In dem wp_term_relationships in object_id Spalte, nach der ich suchen sollte 157896 und ich werde bekommen

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

und in wp_term_taxonomy wir haben:

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 hängt mit der Kategorie zusammen

26280 bedeutet diesen Beitrag übersetzt in de und en Sprachen und die Postnummer für en ist 157896 und die Postnummer für de ist 157894

11 meint den Beitrag mit id = 157896 ist in en(Englische Sprache.

wp_term_relationships ist ein pivot Tisch.

1362140cookie-checkAbfrage von WordPress-Beiträgen nach Polylang-Sprache auf MySQL

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy