Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 按发布日期和元值排序-wordpress_Php_Sql_Wordpress - Fatal编程技术网

Php 按发布日期和元值排序-wordpress

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中,现在可以将数组

我试着在两个不同的表中按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中,现在可以将数组作为 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'
    ));