我正在使用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吗?
答案 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
}