按字母顺序获取自定义字段值

问题描述:

下面的函数按照发布顺序列出自定义字段的值。例如:按字母顺序获取自定义字段值

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

我想获得这个名单中字母顺序和不重复,链接到每个项目<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; ?> 

这可能吗?感谢任何帮助。

使用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 
    } 
} 
+0

完美@soju。您只能列出名称以字母“a”开头的董事吗? –

+0

答复已更新。 – soju

+0

大@soju。非常感谢你。您可以按出现次数对列表进行排序? –