mysql - 在 wordpress 中显示特定类别的帖子
问题描述
通过这个查询,我从我的 wordpress 数据库中获得了我需要的帖子。我必须做什么才能从特定类别中获取帖子?
$sql = "select DISTINCT wp_posts.id, wp_posts.post_title, wp_posts.post_excerpt, wp_posts.guid, wp_posts.post_type, featured_image.guid as post_image, wp_posts.post_modified, wp_users.display_name
from wp_posts
inner join wp_postmeta on wp_posts.id = wp_postmeta.post_id and wp_postmeta.meta_key = '_thumbnail_id'
inner join wp_posts as featured_image on featured_image.id = wp_postmeta.meta_value
inner join wp_users on wp_users.id = wp_posts.post_author
where wp_posts.post_status = 'publish'
AND DATE_FORMAT(wp_posts.post_date, '%d-%m-%Y')='$mydate'
order by wp_posts.ID desc
limit 20";
解决方案
您必须与另外三个表进行连接:wp_term_relationships、wp_term_taxonomy 和 wp_terms,并且在 where 子句中,您可以从 terms 表的 name 列中搜索类别名称。已更新 sql 查询
$sql = "select DISTINCT wp_posts.id, wp_posts.post_title, wp_posts.post_excerpt, wp_posts.guid, wp_posts.post_type, featured_image.guid as post_image, wp_posts.post_modified, wp_users.display_name
from wp_posts
inner join wp_postmeta on wp_posts.id = wp_postmeta.post_id and wp_postmeta.meta_key = '_thumbnail_id'
inner join wp_posts as featured_image on featured_image.id = wp_postmeta.meta_value
inner join wp_users on wp_users.id = wp_posts.post_author
INNER JOIN wp_term_relationships rel ON wp_posts.ID = rel.object_id
INNER JOIN wp_term_taxonomy taxonomy ON rel.term_taxonomy_id = taxonomy.term_taxonomy_id
INNER JOIN wp_terms terms ON taxonomy.term_id = terms.term_id
where wp_posts.post_status = 'publish'
AND terms.name = 'Category you wist to search for'
AND DATE_FORMAT(wp_posts.post_date, '%d-%m-%Y')='$mydate'
order by wp_posts.ID desc
limit 20";
推荐阅读
- c++ - 减去数组中的每个元素并找到其中最大的
- node.js - MongoDB 更新数组中的数组对象
- python - 求解二阶 ODE,然后绘制绘图。返回的数组大小与我需要的不匹配
- html - 将页面底部的页脚与固定的 html 页面高度对齐
- android - Room databaseBuilder 构建崩溃
- java - 无法连接到 MongoDB 数据库(过早到达流的末尾)
- c# - 具有代码的实体框架首先不初始化外键类成员
- python - 如何修复“系统错误:
在 Python C 扩展中返回 NULL 而不设置错误” - c++ - 如何创建外部不可修改的变量?
- ruby-on-rails - 在最后 X 分钟内找到活跃的登录用户