根据自定义字段进行筛选或排序

时间:2011-02-24 作者:JohnnyBizzle

我在一些帖子中添加了一个名为“frontpagerank”的自定义字段。计划是按此值对帖子进行排序,但首先我只想过滤掉任何不使用首页排名的帖子。我通过将相关帖子放到另一个数组中实现了这一点。但接下来该怎么办呢?

还尝试了一个查询:$the\\u query=new WP\\u query(数组(\'meta\\u key\'=>\'0\',\'meta\\u value\'=>\'44\');

while ($the_query->have_posts()) : $query->the_post(); $count++;
这根本没用。这段代码很难调试!

2 个回复
最合适的回答,由SO网友:t31os 整理而成

我在一些帖子中添加了一个名为“frontpagerank”的自定义字段

那么WP\\u查询参数不应该引用该键吗。

\'meta_key\' => \'frontpagerank\'
如果我这样做,您希望检查有此键的帖子,并且您需要一个数字值,因此我自然会假设您不想要有此键的帖子(而是一个空值)。

$the_query = new WP_Query(array( \'meta_key\' => \'frontpagerank\', \'meta_value\' => \'\', \'meta_compare\' => \'!=\', \'orderby\' => \'meta_value_num\' ));
或者,如果您特别想用meta\\u键检查值高于0的帖子,您可以这样做。。

$the_query = new WP_Query(array( \'meta_key\' => \'frontpagerank\', \'meta_value\' => \'0\', \'meta_compare\' => \'>\', \'orderby\' => \'meta_value_num\' ));
您可以在此处读取有关元参数的信息
http://codex.wordpress.org/Function_Reference/query_posts#Custom_Field_Parameters

订单信息由收件人提供,因为我已将其添加到上述收件人中;)
http://codex.wordpress.org/Function_Reference/query_posts#Order_.26_Orderby_Parameters

..您看到的query\\u帖子中列出的任何参数都可以在WP\\u query中使用

然后,您所需要做的就是像之前一样循环处理这些数据。。

// Note i made the correction you commented on, yes that\'s need to match
while( $the_query->have_posts() ) : $the_query->the_post();

   // do whatever

endwhile;
希望这有帮助。

SO网友:Tom

还没有尝试过,但这似乎应该有效:

$recent = new WP_Query("meta_key=your-custom-field&orderby=meta_value");

结束

相关推荐

Paging in a sidebar mini loop

我切换到了另一个主题,并决定用其中的一些默认代码制作一个小部件,在自定义循环中显示我的美味帖子、推特帖子、su帖子和youtube视频(不包括主循环中的这些类别)。但是现在。。。分页不再工作。我制作了这个小部件:// =============================== EDL Sidebar Posts Widget ====================================== class SidebarPosts extends WP_Widget { &#x