从特定的 Wordpress 类别中提取帖子

Posted

技术标签:

【中文标题】从特定的 Wordpress 类别中提取帖子【英文标题】:Pull post from a specific Wordpress category 【发布时间】:2011-01-28 15:13:38 【问题描述】:

我希望从特定的 Wordpress 类别中提取 3 个帖子。此刻,我可以使用下面的代码提取 3 个最新帖子并将它们显示在 Flash 横幅中。

SELECT yah_posts.*, yah_postmeta.* 
FROM yah_posts 
LEFT JOIN yah_postmeta ON yah_posts.ID = yah_postmeta.post_id 
WHERE yah_postmeta.meta_key = 'largeimage' && yah_posts.post_status = 'publish' 
ORDER BY post_date DESC LIMIT 3

我希望能够从特定类别中提取 3 个最新帖子,而不是从每个类别中仅提取 3 个最新帖子。

我在下面整理了这段代码,但它似乎不起作用:(

$query = "SELECT yah_posts.*, yah_postmeta.* 
FROM yah_posts 
LEFT JOIN yah_postmeta ON yah_posts.ID = yah_postmeta.post_id 
AND LEFT JOIN $yah_term_taxonomy ON($yah_term_relationships.term_taxonomy_id = $yah_term_taxonomy.term_taxonomy_id) 
WHERE yah_postmeta.meta_key = 'largeimage' && yah_posts.post_status = 'publish' 
AND $yah_term_taxonomy.term_id = '1' 
AND $yah_term_taxonomy.taxonomy = 'category' 
ORDER BY post_date DESC LIMIT 3";

【问题讨论】:

你为什么使用直接 mysql 查询来查询帖子,你是在 WordPress 安装外部的页面/文件中运行它吗? 我正在将帖子从 Wordpress 拉到一个输出 XML 并显示横幅旋转器的外部 php 文件 【参考方案1】:

实际上有一个堆栈交换网站只专注于 wordpress 问题。看那里并从这个问题中获取代码: https://wordpress.stackexchange.com/questions/6533/modify-wordpress-sql-query-to-pull-from-within-a-category

您需要添加另一个 JOIN:

LEFT JOIN $wpdb->term_taxonomy ON($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)

在 WHERE 子句中还有更多语句:

AND $wpdb->term_taxonomy.term_id = term_id of the category you want
AND $wpdb->term_taxonomy.taxonomy = 'category'

【讨论】:

【参考方案2】:

您可以在查询中使用 wp_term_relationships,查看数据库中的 wp_terms 和 wp_term_relationships 表。

【讨论】:

以上是关于从特定的 Wordpress 类别中提取帖子的主要内容,如果未能解决你的问题,请参考以下文章

SQL查询以提取所有具有类别的WordPress帖子

Wordpress 类别模板显示来自所有类别的帖子,而不是特定类别的帖子

突出显示存档中的类别 - WordPress

如何在 wordpress 中使用 LIKE 搜索类别名称的帖子?

Wordpress自定义模板,用于特定类别的Feed

WordPress:如何仅显示特定类别的帖子?