获取按字母顺序排列的自定义字段值(Get custom field values in alphab

2019-10-17 05:52发布

下面的函数列出它们公布的顺序自定义字段的值。 例:

  • 弗兰克·卡普拉
  • 阿尔弗雷德·希区柯克
  • 伍迪·艾伦
  • 伍迪·艾伦
  • 弗兰克·卡普拉
  • 阿莫多瓦

我想获得这个名单按字母顺序排列,没有重复,并链接到每个项目<a href="Woody-Allen">Woody Allen</a> 。 例:

  • 阿尔弗雷德·希区柯克
  • 弗兰克·卡普拉
  • 阿莫多瓦
  • 伍迪·艾伦

这是代码:

<?php
$movie_reviews = get_posts( 'numberposts=-1&orderby=post_name' );
foreach( $movie_reviews as $post ) : setup_postdata( $post );
?>
<span>
<?php $director = get_post_meta( $post->ID, "director", $single = true );
if( $director !== '' ) {
echo $director;
} ?>
</span>
<?php endforeach; ?>

这可能吗?

Answer 1:

使用get_posts ,你可以订购帖子meta_value是这样的:

$movie_reviews = get_posts(array(
  'numberposts'=>-1,
  'order'=>'ASC',
  'orderby'=>'meta_value',
  'meta_key'=>'director'
));

要删除重复,你可以建立董事的数组:

$directors = array();
foreach( $movie_reviews as $post ) {
    $director = get_post_meta( $post->ID, 'director', true );
}
$directors = array_unique($directors);

而作为后你想你可以显示它们:

foreach ($directors as $director) {
    // display what you want
}

编辑 :只显示*董事:

foreach ($directors as $director) {
    if (strtolower($director[0])=='a') {
        // display what you want
    }
}


文章来源: Get custom field values in alphabetical order