¿Enlace el nombre en los comentarios a la página del Autor? Comentar Autor Meta en Comentarios?

4

No estaba muy seguro de cómo formular la pregunta, por lo que estoy seguro de que no puedo encontrar lo que necesito al buscar en Google.

Quiero vincular todos los nombres de los comentaristas a su página author.php si tienen la capacidad de edit_posts (autores, editores y administradores); de lo contrario, haga un enlace al sitio web que han incluido en su perfil.

No tengo experiencia con el uso de comment_author .

Gracias.

    
pregunta Travis Pflanz 30.04.2012 - 18:12

1 respuesta

5

Edité mi respuesta ya que el código original tenía algunas fallas. Probado y comprobado por triplicado esto para asegurarse de que hace exactamente lo que has solicitado. :)

Disfrutar!

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');
    
respondido por el akamaozu 05.05.2012 - 00:27

Lea otras preguntas en las etiquetas