Ich habe einen Beitrag und er hat mehrere Kategorien. Wie kann ich alle Kategorien dieses Beitrags per SQL-Abfrage abrufen? Vielen Dank.
WordPress sql : Alle Kategorien eines Beitrags abrufen
Sie können Beitragskategorien mit diesem SQL abrufen:
SELECT wt.* FROM wp_posts p
INNER JOIN wp_term_relationships r ON r.object_id=p.ID
INNER JOIN wp_term_taxonomy t ON t.term_taxonomy_id = r.term_taxonomy_id
INNER JOIN wp_terms wt on wt.term_id = t.term_id
WHERE p.ID=1 AND t.taxonomy="category"
-
Macht keinen Sinn. Was Sie abfragen, sind Posts, keine Kategorien.
– reggie
10. Dezember 2021 um 12:04 Uhr
-
Die Abfrage wählt aus
wt.*
was im aktuellen Kontext istwp_terms
Tabelle wie im dritten INNER JOIN definiert.– Dimitar Atanasov
9. Februar 2022 um 12:30 Uhr
Überprüfen Sie diesen Code –
$post_categories = wp_get_post_categories( $post_id );
$cats = array();
foreach($post_categories as $c){
$cat = get_category( $c );
$cats[] = array( 'name' => $cat->name, 'slug' => $cat->slug );
}
Referenz: http://codex.wordpress.org/Function_Reference/wp_get_post_categories —
-
Dies ist keine SQL-Abfrage.
– ChrisRae
27. Oktober 2021 um 22:12 Uhr
versuchen
select c.*
from wp_categories c
inner join wp_post2cat pc on pc.category_id = c.cat_ID
inner join wp_posts p on pc.post_id = p.id
where p.id = 1
-
-1 Unterbricht bei jeder Installation mit einem Tabellenpräfix !=
wp_
. Oh, und auch bei Installationen an mehreren Standorten.– Fuchsie
25. Juli 2012 um 16:30 Uhr
-
WordPress hat diese Tabellen nicht
– José Neto
3. August 2019 um 18:58 Uhr
-
Sieht aus wie die
wp_post2cat
Die Tabelle wurde in der WordPress-Version 2.3 (damals 2007) entfernt und durch Tabellen mit Bezug zu “Begriffen” ersetzt.– Harry Holz
1. Juli 2021 um 22:02 Uhr