我有一个帖子类型gtre
和元数据price
.
我使用的“价格”元数据get_post_meta($post->ID, \'key\', true)["price"];
因此,我不知道应该如何准确地编写argsWP_Query
构造函数,这样我就可以通过\'price
\' 元数据。我的意思是我希望查询按\'price
\'.
我试过这个:
$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
$temp = $wp_query;
$wp_query = NULL;
$args = array(\'post_type\' => \'gtre\',
\'posts_per_page\'=>\'6\',
\'order\'=>\'ASC\',
\'page\'=>$paged,
\'meta_query\' => array(
\'key\' => \'price\',
),
\'orderby\'=>\'meta_value\');
$wp_query = new WP_Query($args);
但我只在\'
ASC
\' 按过帐时间排序。
怎么可能是我的\'$args
\' 数组,以便我可以按\'price
\' 元数据。这是price
\' 只有使用\'get_post_meta($post->ID, \'key\', true)["price"]
\', 我的意思是我只能通过使用函数\'get_post_meta
\'.
有什么帮助吗?谢谢
SO网友:Brad Elsmore
我过去通过使用以下方法实现了这一点。
$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
$args = array(
\'post_type\' => \'gtre\',
\'posts_per_page\' => 6,
\'paged\' => $paged,
\'meta_key\' => \'price\',
\'orderby\' => \'meta_value_num\',
\'order\' => \'ASC\',
);
$pquery = new WP_Query($args);
如果不将新查询对象设置为$wp\\u query,那么代码中应该不需要以下内容。
$temp = $wp_query;
$wp_query = NULL;
您通常不想更改它,因为它是主查询变量。通过使用WordPress中尚未使用的唯一变量,可以确保这只会影响当前正在处理的查询。这样你就不会有任何意外的结果。