WordPress orderby按字母顺序只能部分工作

时间:2013-09-10 18:18:05

标签: wordpress-theming custom-post-type custom-fields wordpress

我已按自定义字段last_name订购了自定义帖子类型循环。它按字母顺序按姓氏排序一些列表,但是在列表中间是按字母顺序排序,然后按字母顺序返回

我的代码如下:

 <?php $loop = new WP_Query(array( 'post_type' => 'engineer',
   'posts_per_page' =>-1,'order_by' => array('last_name'), 'order' => 'ASC')); 
    $count =0;?>


 <?php if ( $loop ) : while ( $loop->have_posts() ) : $loop->the_post(); ?>


 <li class="portfolio-item <?php echo strtolower($tax); ?> all">

 <ul class="pe_list_row">
 <li class="eid">
 <?php echo get_post_meta($post->ID, 'Engineer Id  Number', true); ?>
 </li>
 <li class="edis">
 <?php echo get_post_meta($post->ID, 'Discipline', true); ?>
  </li><li class="lname">
 <?php echo get_post_meta($post->ID, 'Last Name', true); ?>
</li><li class="fname">
<?php echo get_post_meta($post->ID, 'First Name', true); ?>
</li>


</ul>

</li>

<?php endwhile; else: ?>

<?php endif; ?>

P.S。我已经在页面上删除了一些其他代码,这些代码与分类标签放置在列表项类属性中。该代码涉及使用get_terms获取标记并使用count方法计数,然后迭代以生成过滤器导航。此代码与filterable.js库一起使用。

页面为this

1 个答案:

答案 0 :(得分:1)

使用自定义字段

订购时,您应该使用meta_keymeta_value
$query = new WP_Query( array ( 'post_type' => 'engineer', 'orderby' => 'meta_value', 'meta_key' => 'last_name' ) );

Check more on Codex.