【发布时间】:2018-11-23 18:59:00
【问题描述】:
我正在尝试按 2 个不同表中的 3 个不同列对我的 WordPress 帖子进行排序。
第一个是post_date,它位于wpdb->posts表中。
第二个是post的meta key和meta value,位于wpdb->postmeta。
meta_key = et_payment_package
meta_value = 1 or 0
这两列位于不同的表中。我该如何订购它们?我想将 et_payment_package=1 的帖子按最初的发布日期显示为前几篇帖子,然后是 et_payment_package=0 的所有其他帖子。
【问题讨论】:
-
现在它只是按帖子按日期降序排列。我仍在研究如何解决这个问题。我的猜测是使用内部联接将 meta_key 和 meta_value 列“附加”到现有的帖子表中,然后通过首先使用 meta_value 排序,然后是 post_date 来处理新加入的表。这听起来对吗?
-
SELECT * FROM wp_posts INNER JOIN wp_postmeta ON wp_postmeta.post_id=wp_posts.ID WHERE post_type='project' AND meta_key='et_payment_package' ORDER BY et_payment_package DESC, post_date DESC;这是我制作的 SQL 查询结果,但我不确定如何使用 WP_query 执行此操作。