【问题标题】:WordPress orderby Alphabetical order only partially workingWordPress orderby 按字母顺序仅部分工作
【发布时间】:2013-09-10 18:18:05
【问题描述】:

我已通过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; ?>

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

页面是this

【问题讨论】:

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


    【解决方案1】:

    订购自定义字段时,您应该使用meta_keymeta_value

    $query = new WP_Query( array ( 'post_type' => 'engineer', 'orderby' => 'meta_value', 'meta_key' => 'last_name' ) );
    

    Check more on Codex.

    【讨论】:

    • 我尝试了您的代码,将 $query 替换为 $loop,因为我一直在使用 $loop。它加载了一个空白循环,没有列出任何工程师。我之前尝试过使用 meta_value 和 meta_key,它要么给我一个错误,现在你的代码加载一个没有页面错误的空白列表。谢谢你的相同和任何帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-17
    • 1970-01-01
    • 2014-05-14
    • 1970-01-01
    • 2012-04-13
    • 1970-01-01
    相关资源
    最近更新 更多