最近发布的作者列表包括href =“author url”和class =“optional”

时间:2016-09-07 19:09:36

标签: php wordpress list profile author

我正在尝试根据Wordpress页面上最近活跃的用户生成一个作者列表,包括个人资料链接中的一个类。我到目前为止的是

<div id="personae">
<ul>
<?php
$authors =  array();
$count = 0;
$args=array(
  'post_type' => 'post',
  'post_status' => 'publish',
  'posts_per_page' => -1,
  'caller_get_posts'=> 1
);
$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
  echo '';
  while ($my_query->have_posts() && $count < 3) : $my_query->the_post();
    $author_id=$my_query->post->post_author;
    $user = new WP_User( $author_id );
    if ( !empty( $user->roles ) && is_array( $user->roles ) && in_array('contributor',$user->roles) || in_array('',$user->roles)) {
      if (!in_array($author_id,$authors)) {
        echo '<li>';
        the_author_meta('title');
        echo ' <a href="#" class="';
        the_author_meta('personaeclass');
        echo '">';
        the_author_nickname();
        echo '</a>';   
        echo '</li>';
        $count++;
        $authors[]=$author_id;
      }
    }
  endwhile;
}
wp_reset_query();  
?>

</ul>
</div>

它产生了近3位作者的近乎完美的代码。

<div id="personae">
<ul>
<li>Editor <a href="#" class="menu-item-1">Name</a></li>
<li>Photographer <a href="#" class="menu-item-2">Name</a></li>
<li>Journalist <a href="#" class="menu-item-3">Name</a></li>
</ul>
</div>

我差不多 我只需要作者的链接是href =“author profile url”而不是#。我尝试过使用the_author_posts_link('');哪个有效,但是在我也需要申请的链接中没有办法让class =“”。

有任何建议如何解决这个问题?谢谢!

2 个答案:

答案 0 :(得分:0)

函数get_the_author_link()应该有效。所以

echo ' <a href="#" class="';

会变成

echo ' <a href="'. get_the_author_link() . '" class="';

编辑:我的道歉上面会得到作者网站的网址:

get_author_posts_url($author_id)

答案 1 :(得分:0)

试试这个,

<div id="personae">
<ul>
<li>Editor <a href="<?php echo get_author_posts_url(  $author_id, get_the_author_meta( 'user_nicename', $author_id ) ); ?>" class="menu-item-1"><?php echo get_the_author_meta( 'display_name', $author_id ); ?></a></li>
</ul>
</div>

参考