Php 按发布日期和元值排序-wordpress
我试着在两个不同的表中按3个不同的列对我的WordPress帖子进行排序 第一个是post_date,它位于wpdb->posts表中 第二个是post的元键和元值,位于wpdb->posteta中Php 按发布日期和元值排序-wordpress,php,sql,wordpress,Php,Sql,Wordpress,我试着在两个不同的表中按3个不同的列对我的WordPress帖子进行排序 第一个是post_date,它位于wpdb->posts表中 第二个是post的元键和元值,位于wpdb->posteta中 meta_key = et_payment_package meta_value = 1 or 0 这两列在不同的表中。我该怎么订购呢?我想在最初的几篇文章中显示et_payment_package=1的文章,然后是其他所有et_payment_package=0的文章 在4.0中,现在可以将数组
meta_key = et_payment_package
meta_value = 1 or 0
这两列在不同的表中。我该怎么订购呢?我想在最初的几篇文章中显示et_payment_package=1的文章,然后是其他所有et_payment_package=0的文章
在4.0中,现在可以将数组作为
orderby
现在它只是按帖子的降序排列。我还在想办法解决这个问题。我的猜测是使用内部联接将meta_键和meta_值列“附加”到现有的posts表中,然后通过先使用meta_值排序,然后是post_日期来处理新联接的表。这听起来正确吗?
选择*从wp_posts内部加入wp_postmeta在wp_postmeta上。post_id=wp_posts.id,其中post_type='project'和meta_key='et_payment_package'按et_payment_package DESC订购,post_date DESC代码>这是我精心编制的SQL查询结果,但我不确定如何使用WP_query执行此操作。谢谢,但在此之前我如何联接表?但为什么要联接表?这是wordpress方法,您需要在其中添加您的数组,您可以得到想要的结果,请参阅
$query=new WP_Query(array(
'meta_key'=>'your_meta_key',
'orderby'=>'date your_meta_key',
'order'=>'desc'
));