$args = array(
\'cat\' => 5,
\'posts_per_page\' => 8,
\'meta_key\' => \'custom_sort_order\',
\'order\' => \'ASC\',
\'orderby\' => \'meta_value_num\'
);
$custom_query = new WP_Query( $args );
使用上面的代码,我可以按照自定义字段的值顺序(升序)对帖子进行排序。但是,如果我忘记为帖子分配自定义字段键和值,查询将找不到整个帖子,因为
custom_sort_order
meta\\u键-因为它不存在于某个帖子中。
但我需要把\'meta_key\' => \'custom_sort_order\'
因为法典上说:
\'meta_value_num\'
- 按数值元值排序(2.8版提供)。还请注意\'meta_key=keyname\'
must 也将出现在查询中。
是否有一种方法,我可以绕过它,并设置查询的默认排序顺序,但可以使用custom_sort_order
meta\\u键是否具有升序数字?所以,即使我忘了提到custom_sort_order
post\\u meta,将正常查询帖子。
在@HeatenJesus的回答和@engelen的评论之后,我们似乎在艰难地处理这个话题。我们可以考虑一个过滤器,通过它我们可以使用自定义的自定义排序顺序meta\\u键修改自定义的WP\\u Query()?
假设我们的WP\\u查询参数为:
$args = array(
\'cat\' => 5,
\'posts_per_page\' => 8,
\'meta_key\' => \'other_post_meta\',
\'meta_value\' => \'yes\',
\'order\' => \'ASC\'
);
$custom_query = new WP_Query( $args );
我们排除了
\'orderby\' => \'meta_value_num\'
并使用其他meta\\u键和相应的值过滤我们的查询。但是
custom_sort_order
meta\\u键不存在。我们将实现某种过滤器,并使用自定义值从外部修改订单
custom_sort_order
.
我们能那样想吗?
事实上,我们可以提出这样一个问题吗;Post Type Re-Order插件是如何做到这一点的"E;