获取按元数据排序的帖子

时间:2015-03-14 作者:Marcelo

我有一个帖子类型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\'.

有什么帮助吗?谢谢

2 个回复
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中尚未使用的唯一变量,可以确保这只会影响当前正在处理的查询。这样你就不会有任何意外的结果。

SO网友:Marcelo Noronha

我的问题是,因为在wordpress数据库中,元键“price”是“\\u price”,所以在“price”中添加下划线就可以了。谢谢

结束

相关推荐

Order posts by tags count?

我正在尝试按标签数量订购帖子。我想先订购没有标签的帖子,最后订购计数最高的帖子。我试过了,只得到了没有标签的帖子。 $tags = get_tags(); $tag_ids = wp_list_pluck( $tags, \'term_id\' ); $args1 = array ( \'orderby\' => \'DEC\', \'post_type\' => \'p