我搞乱WordPress,为我的插件制作了一个API,jquery用它来填充表格。需要帮助弄清楚我将如何做到这一点。
第一个查询,这将得到'父'职位:
[Q1]:
Select from posts as p where p.ID IN ({SomeIDs I am requesting})
第二个查询,这将获得第一个的所有子元素:
[Q2]:
Select from posts as p where p.parent_postID IN ({the parentIDs from q1})
我怎样才能运行这个查询,以便结果是一个输出。我不想在每次想要显示子元素时都继续运行第二个查询(子元素显示为默认值,这个想法可以限制第一个查询)。
最终结果:
_________________________________________________
| ID | post_parent | title | disruption |
-------------------------------------------------
| 894 | 0 | main title | main disc |
| 898 | 894 | diff title | diff disc |
| 907 | 894 | diff tilte | diff disc |
| 910 | 0 | Main title | main disc |
| 916 | 910 | diff title | diff disc |
| 919 | 0 | Main title | Main disc |
-------------------------------------------------你会注意到ID 919没有子元素,我仍然希望它显示在结果中。
所以我尝试加入,我会失去没有ID = post_parentID的记录,除非有另一种类型的连接,我可以做...
这个想法在q1上是'LIMIT',结合结果用q2排序,然后jQueryer forloop在创建表时的结果只会改变
的bg,如果ID和post_parent匹配这是我必须与之合作的计划...... Wordpress的;也不是说在第二季度会有额外的标准来确定我想展示哪些子元素。例。我将为子元素添加一个post_meta .... meta_key ='lang_i18N'meta_value ='en',因此我可以为postmeta添加一个连接到q2
更新:
这是q1:
[Q1]
SELECT
posts.ID AS myItem_ID,
posts.post_parent AS parentID,
posts.post_title AS title,
posts.post_content AS fullDesc,
posts.post_excerpt AS shortDesc,
posts.post_status AS status,
posts.menu_order AS fetured_Order,
json_meta.meta_value AS json_input,
meta.meta_value AS vendorID,
vendor.post_title AS vendorName,
posts.post_modified AS modifiedDate
FROM wp_posts AS posts
LEFT JOIN wp_postmeta AS meta
ON meta.post_id = posts.ID
LEFT JOIN wp_postmeta AS json_meta
ON json_meta.post_id = posts.ID
LEFT JOIN wp_postmeta AS i18N
ON i18N.post_id = posts.ID
LEFT JOIN wp_posts AS vendor
ON vendor.ID = meta.meta_value
WHERE meta.meta_key = 'agency'
AND json_meta.meta_key = 'json_input'
AND posts.post_type = 'activity_item'
AND posts.post_status = 'publish'
AND posts.ID IN (1080, 1231, 1273, 1882, 1937)
LIMIT 0,2好吧,这给了我父级的名单...现在我想包括与Q1相同的子元素,但也许我想i18N = 'es'意思是我想父级是无论价值领域i18N,但我希望子元素是'ES '也许有4个子元素,那么我想让LIMIT只显示2个父级,并且无论他们有多少子元素(不限制子元素),这可以在一个查询中完成吗?我试图远离PHP,因为它有很多数据。