Nome do link nos comentários da página do autor? Comentar Author Meta in Comments?

4

Eu não sabia exatamente como escrever a pergunta, então tenho certeza de que é por isso que não consigo encontrar o que preciso ao pesquisar no Google.

Eu quero vincular todos os nomes dos comentaristas à sua página author.php se eles tiverem edit_posts de capacidade (Autores, editores e administradores), caso contrário, vinculem ao site que eles listaram em seus perfis.

Não tenho experiência com o uso de comment_author .

Obrigado.

    
por Travis Pflanz 30.04.2012 / 18:12

1 resposta

5

Editou minha resposta, pois o código original era um pouco defeituoso. Testado e verificado com triplicação para garantir que ele faz exatamente o que você solicitou. :)

Aproveite!

function comment_author_profile_link(){

/* Get the comment author information */

global $comment;
$comment_ID = $comment->user_id;
$author = get_comment_author( $comment_ID );
$url = get_comment_author_url( $comment_ID );

/* Check if commenter is registered or not */
switch ($comment_ID == 0) {

case true: 
/* Unregistered commenter */    

    if ( empty( $url ) || 'http://' == $url )
        $return = $author;
    else
        $return = "<a href='$url' rel='external nofollow' class='url' target='_blank'>$author</a>";

break;

case false:
    /* Registered Commenter */      

    $registeredID = get_userdata($comment_ID);
    $authorName = $registeredID->display_name;
    $authorLevel = $registeredID->user_level;
    $authorURL = $registeredID->user_url;
    $authorID = $registeredID->ID;

        /* Check if they have edit posts capabilities & is author or higher */

    if ($authorLevel > 1 && user_can($authorID,'edit_posts') == true && count_user_posts($authorID) > 0) {
    /* Author+ with Posts */

    $return = '<a href="'.home_url().'/?author='.$authorID.'">'.$authorName.'</a>';

    } else {
    /* Below Author */

    if ( empty( $authorURL ) || 'http://' == $authorURL )
        $return = $authorName;
    else
        $return = "<a href='$authorURL' rel='external nofollow' class='url' target='_blank'>$authorName</a>";

    }

break;
}

return $return;
}

add_filter('get_comment_author_link', 'comment_author_profile_link');
    
por akamaozu 05.05.2012 / 00:27

Tags