Obtener el nombre completo del autor

7 feb 2013, 17:19:48
Vistas: 30.8K
Votos: 5

Estoy tratando de mostrar el nombre y apellido de un autor sin tener que cambiar la configuración de "Mostrar públicamente como...". El problema es que solo puedo encontrar soluciones para uno u otro, o en el mejor de los casos mostrar/nice/nickname. Me gustaría mostrar el nombre completo sin importar lo que el usuario/autor haya elegido "Mostrar públicamente como".

Idealmente me gustaría combinar lo siguiente si es posible.

get_the_author_meta('first_name') 

y

get_the_author_meta('last_name') 

¡Cualquier ayuda sería apreciada!

EDICIÓN (CÓDIGO FINAL):

$fname = get_the_author_meta('first_name');
        $lname = get_the_author_meta('last_name');
        $full_name = '';

        if( empty($fname)){
            $full_name = $lname;
        } elseif( empty( $lname )){
            $full_name = $fname;
        } else {
            //tanto el nombre como el apellido están presentes
            $full_name = "{$fname} {$lname}";
        }

        $nicknames = "";
        //obtener_rol_autor()
        $userjob = get_cimyFieldValue(get_the_author_meta('ID'), 'JOBTITLE');
        //$userjob = "";
        ob_start();
        coauthors_links();
        //coauthors_firstname();
        $authornames = $full_name;
        ob_end_clean();

        if (empty($authornames)) { 
            $authornames = get_the_author();
        } else {
            $userjob = NULL;
        }
        $linkpre = "<a href='/author/".get_the_author_meta('user_nicename')."'>";
        $linkpost = "</a>";
        if (custom_author_byline("") !== ""){
            $authornames = get_the_author();
            $linkpre = $linkpost = "";
            $userjob = NULL;
        }
        //echo coauthors_links();
        //get_the_author_meta("nickname")
        echo "<p class='authormet'>Por ".$linkpre.$authornames.$linkpost."</p><br/><p class='authormet'>".$categories_list." | ".get_the_date()."</p>";
1
Comentarios

Prueba the_author_meta( 'display_name' ).

Fabien Snauwaert Fabien Snauwaert
15 may 2017 19:30:40
Todas las respuestas a la pregunta 2
3
11

Prueba lo siguiente:

<?php

$fname = get_the_author_meta('first_name');
$lname = get_the_author_meta('last_name');
$full_name = '';

if( empty($fname)){
    $full_name = $lname;
} elseif( empty( $lname )){
    $full_name = $fname;
} else {
    //ambos nombre y apellido están presentes
    $full_name = "{$fname} {$lname}";
}

echo $full_name;
?>
7 feb 2013 17:26:42
Comentarios

¿Por qué no simplemente echo trim( "$fname $lname" );?

fuxia fuxia
7 feb 2013 17:31:30

¡Gracias, ya estoy muy cerca! Sin embargo, al agregar lo anterior, el nombre se muestra dos veces. Probablemente estoy pasando por alto algo simple, he añadido un código de ejemplo arriba.

kallekillen kallekillen
7 feb 2013 17:32:34

Elimina el primer echo $full_name; ;-)

Mike Madern Mike Madern
7 feb 2013 17:35:21
0

La función get_the_author se puede utilizar directamente para mostrar el nombre del autor. Hay algunas configuraciones que deben realizarse en el administrador para esto:

  • En la configuración de usuario, asegúrate de que los campos de nombre y apellido estén completos.
  • Después, busca las opciones de Mostrar nombre públicamente como y selecciona el formato en el que deseas que se muestre el nombre.
  • Haz clic en guardar y actualiza tu página.
13 oct 2020 17:12:14