2016-09-07 3 views
0

Я пытаюсь создать список авторов на основе недавно активных пользователей на странице Wordpress, включая класс в ссылке профиля. То, что я это далекоНедавно опубликованный список авторов, включая href = "author url" и class = "optional"

<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 = "автор URL Профиля" вместо #. Я попытался использовать the_author_posts_link (''); который работает, но тогда нет способа иметь class = "" внутри ссылки, которую я также должен применять.

Любые предложения, как это решить? Благодаря!!

ответ

0

Функция get_the_author_link() должна работать. Так

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

станет

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

EDIT: Мои извинения выше получат авторы URL сайта попробовать:

get_author_posts_url($author_id) 
+0

Извинения выше будет получить авторы URL сайта попытать редактирования. – Howli

+0

Да с $ authorid, являющимся идентификатором автора, например,? Если вы жестко скопируете в него один из идентификаторов авторов, что он показывает? – Howli

+0

Если я ввел идентификатор автора, как этот echo ' Maren

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> 

Reference