簡體   English   中英

使用 Wp-Posts 和 Wp-Terms 查詢 Wordpress 帖子

[英]Query Wordpress Posts Using Wp-Posts and Wp-Terms

在此處輸入圖像描述 我正在嘗試從我的 Wordpress 站點查詢所有具有 wp_terms.slug = 'portfolio-photos' 的帖子。 我已經使用 wp_terms、wp_term_taxonomy、wp_term_relationships 和 wp_posts 連接了這些表。 我不確定我的 SQL 代碼有什么問題。 有人可以建議我的代碼/思路有什么問題嗎?

我收到 0 行,但是應該有 12 行,因為這就是我在 WP 中使用“portfolio-photos”slug 擁有的行數。 列標題是 ID、term_id 和 slug。

SELECT wp_posts.ID, wp_terms.term_id, wp_terms.slug
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_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id)
LEFT JOIN wp_terms ON (wp_term_taxonomy.term_taxonomy_id = wp_terms.term_id)
WHERE wp_terms.slug = 'portfolio-photos'

wp_terms您的 FROM 子句中,您必須關聯它才能在 WHERE 子句中使用它。

編輯:在我原來的回答之后,原來的帖子被改變了。

在仔細查看了 WP DB 中的表之間的關系后,我意識到我有正確的代碼。 這篇 文章真的很有幫助。 我試圖使用與父類別對應的 slug 來提取結果。

因此,我上面的原始代碼僅適用於子類別。 下面的代碼使用WHERE wp_term_taxonomy.parent = '11'提取正確數量的結果

SELECT wp_posts.ID, wp_terms.term_id, wp_term_taxonomy.parent, wp_terms.slug
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_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id)
LEFT JOIN wp_terms ON (wp_term_taxonomy.term_taxonomy_id = wp_terms.term_id)
WHERE wp_term_taxonomy.parent = '11'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM