【问题标题】:Wordpress Custom Meta Query without wp functions (wo. wp_query())没有 wp 函数的 Wordpress 自定义元查询 (wo.wp_query())
【发布时间】:2014-11-04 05:39:21
【问题描述】:

我必须在没有 wp_query 的情况下从 wordpress 数据库中获取标题、描述和附件。我无法同时获取附件和元描述...

这就是我的查询到目前为止的样子

$query="SELECT post_title, meta_value 
FROM wp_posts p JOIN wp_postmeta pm ON p.ID=pm.post_id 
WHERE post_status='publish' 
AND post_type='page' 
AND post_parent=2330 
AND ( meta_key='_wpseo_edit_description' OR meta_key='_wp_attached_file' ) 
ORDER BY post_date DESC";

此查询返回我必须在循环中拆分的“双倍”结果

______________________________
| post_title | meta_value    |
|------------|---------------|
|  title 1   | 1349          |
|------------|---------------|
|  title 1   | description 1 |
|------------|---------------|
|  title 2   | 1348          |
|------------|---------------|
|  title 2   | description 2 |
|____________|_______________|

【问题讨论】:

  • 请阅读THIS POST我写的如何提出正确的问题,它将帮助您得到答案

标签: mysql wordpress select title meta


【解决方案1】:

您需要加入wp_postmeta 表才能获取任何附加信息,例如文件附件或自定义字段。

如何执行此操作的示例:

SELECT p.*, pm2.meta_value AS featured_image, pm3.meta_value AS wpseo_edit_description, pm4.meta_value AS wp_attached_file
FROM `wp_posts` p
LEFT JOIN `wp_postmeta` pm2 ON p.ID = pm2.post_id AND pm2.meta_key = 'wp_attached_file'
LEFT JOIN `wp_postmeta` pm3 ON p.ID = pm3.post_id AND pm3.meta_key = '_wpseo_edit_description'
LEFT JOIN `wp_postmeta` pm4 ON p.ID = pm4.post_id AND pm4.meta_key = '_wp_attached_file'
WHERE p.post_status = 'publish' 
AND p.post_type = 'page' 
AND p.post_parent = 2330 

随后将提供普通帖子字段(帖子标题、描述、ID 等)以及featured_imagewp_attached_filewpseo_edit_description

【讨论】:

  • 哇,自从我回答后,您的问题发生了巨大变化。不过,我认为我的答案仍然有效。
  • 由于 John Ruddell 的暗示而不得不改变我的问题
  • @Viktor 谢谢 :) 我写这篇文章是为了帮助其他人发布更好的问题,我们可以理解并改善社区! :)
猜你喜欢
  • 2012-04-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-25
  • 1970-01-01
  • 2017-04-18
相关资源
最近更新 更多