客户邮寄类型的Orderby自定义字段

时间:2013-06-24 作者:Samantha Slade

我正试图通过一个名为sort\\u by的字段订购一个名为“Teachers”的自定义帖子类型。我不知道为什么这不起作用。

这是我的代码:

$args = array( \'post_type\' => \'teacher\', \'posts_per_page\' => 30, \'order_by\' => \'sort_by\' ,\'order\'=>\'ASC\' );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
    echo \'<div class="entry-content"><h2 class="teachers">\';
    the_title();
    echo \'</h2>\';
    the_excerpt();
    echo  \'</div>\';
endwhile;

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

论点是orderbyorder_by 但我不确定是什么sort_by 是如果这是一个自定义元字段,则需要更改查询。

“meta\\u value”-请注意,“meta\\u key=keyname”也必须存在于查询中。还请注意,排序将按字母顺序进行,这对于字符串(即单词)来说是很好的,但对于数字(例如1、3、34、4、56、6等,而不是您自然期望的1、3、4、6、34、56等)来说可能是意外的。对于数值,请使用“meta\\u value\\u num”。

http://codex.wordpress.org/Class_Reference/WP_Query

您需要为meta\\u键传递一个参数,为orderby.

$args = array( 
  \'post_type\' => \'teacher\',
  \'posts_per_page\' => 30,
  \'meta_key\' => \'sort_by\',
  \'orderby\' => \'meta_value\',
  \'order\'=>\'ASC\' 
);

结束

相关推荐