按多个字段排序自定义帖子

时间:2014-08-02 作者:user3699892

我有一个页面,列出了我们乐队的成员,作为一个自定义的帖子类型。

我试图按几个自定义字段、按类别或“节”字段、然后按类别、然后按名称对成员进行排序。所有这些都是作为自定义字段输入的。

你知道怎么做吗?页面如下:http://www.uconnband.org/members

2 个回复
SO网友:Pramod Jodhani

您可以使用WP_查询:

$query = new WP_Query( array ( \'post_type\' => \'product\', \'orderby\' => \'meta_value\', \'meta_key\' => \'price\' ) );
用元密钥替换“price”。

参考:-

http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters

SO网友:satchinjoshi

你可以这样做

//代码如下:-

function modify_query($query){
 //set this input in the orderby form
//and check if its from the form and the request something like this
if(!isset($_GET[\'check\']) || $_GET[\'check\'] != \'check\')
    return;

//then you can change the query as per request
if ($query->is_main_query() && isset($_GET[\'orderby\'])) {
    $query->set(\'orderby\', \'meta_value\' );
    switch($_GET[\'orderby\']){
        case \'class\':
            $query->set(\'meta_key\', \'some_key\');
            break;
        case \'section\':
            $query->set(\'meta_key\', \'other_key\');
            break;
        //add like this
    }

}
}

add_action(\'pre_get_posts\', \'modify_query\');

结束

相关推荐

带MENU_ORDER和标题的Orderby

因为Wordpress的原生顺序系统有点愚蠢(即:1个香蕉,10个香蕉,2个香蕉,…)我需要添加一个插件,让我设置数字标题的顺序。问题是当我设置orderby= 具有menu_order title, 菜单的顺序就像我在后端设置的一样。但对于那些订单设置为0的。。。我想回到orderby=title.总之,我希望orderby=menu_order title 如果顺序设置为0,则返回标题。菜单顺序的插件链接:http://wordpress.org/plugins/term-menu-order/