Wordpress:订单&订单参数

时间:2015-01-11 22:21:16

标签: wordpress meta-key

我正在使用headwaythemes来创建我的网站。 我喜欢推荐ORDER-BY。

这是我在文件中找到的代码。

'order-by' => array(
    'type' => 'select',
    'name' => 'order-by',
    'label' => 'Order By',
    'tooltip' => '',
'options' => array(
    'date' => 'Date',
    'title' => 'Title',
    'rand' => 'Random',
    'comment_count' => 'Comment Count',
    'ID' => 'ID',
    'meta_value_num' => 'Custom' // my code
    )
),

我添加了这一行,它显示在选择框中。但是没有任何事情发生,因为http://codex.wordpress.org/Class_Reference/WP_Query错过'meta_key = keyname'这也必须存在。

如何让它出现?

我尝试了array( oderby => meta_value_num, meta_key => images_likes ) => 'Custom' // my code,但这也行不通。

有人可以告诉我如何添加meta_key吗?

1 个答案:

答案 0 :(得分:0)

我并不熟悉您正在使用的主题,但这应该是一般方法(希望您已经在子主题中完成了自定义: - ))< / p>

您需要更改查询参数。我想你在这里有几个选择

  • 为元键,元值和比较运算符

  • 创建额外的文本字段
  • 如果不需要动态,则meta_query进行硬编码

对于这两个选项,您首先要检查是否选择了orderby=meta_value_num选项。我不知道这是简单的复选框还是下拉列表,但您应该能够写一个条件语句来检查是否选中了这个选项。

如果您使用上面的选项项目符号1,您还可以进行额外检查以测试您是否在三个文本字段中输入了值。

正如我已经说过的,你需要改变查询参数,你还需要将当前查询参数放入条件语句中,如下所示:英文:

if( orderby=meta_value_num is selected plus additional check if bullet point 1 option) {

    $args = array(
        'post_type'  => 'product',
        'orderby' => 'OPTION KEY FOR THIS',
        'meta_key' => 'color',
        'meta_query' => array(
            array(
                 'key'     => 'color',
                 'value'   => 'blue',
            ),
        ),
    );

}else{

    //DEFAULT THEME QUERY ARGUMENTS

}