最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

php - Get author full name

programmeradmin2浏览0评论

I'm trying to display the first and last name of an author without having to change the "Display publicly as..." setting. Problem is, I can only seem to find solutions for either or, or at best display/nice/nickname. I would like to display the full name no matter what the user/author has chosen to "Display publicly as".

Ideally I'd like to combine the below if possible.

get_the_author_meta('first_name') 

and

get_the_author_meta('last_name') 

Any help would be appreciated!

EDIT (FINAL CODE):

$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 {
            //both first name and last name are present
            $full_name = "{$fname} {$lname}";
        }

        $nicknames = "";
        //get_author_role()
        $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'>By ".$linkpre.$authornames.$linkpost."</p><br/><p class='authormet'>".$categories_list." | ".get_the_date()."</p>";

I'm trying to display the first and last name of an author without having to change the "Display publicly as..." setting. Problem is, I can only seem to find solutions for either or, or at best display/nice/nickname. I would like to display the full name no matter what the user/author has chosen to "Display publicly as".

Ideally I'd like to combine the below if possible.

get_the_author_meta('first_name') 

and

get_the_author_meta('last_name') 

Any help would be appreciated!

EDIT (FINAL CODE):

$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 {
            //both first name and last name are present
            $full_name = "{$fname} {$lname}";
        }

        $nicknames = "";
        //get_author_role()
        $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'>By ".$linkpre.$authornames.$linkpost."</p><br/><p class='authormet'>".$categories_list." | ".get_the_date()."</p>";
Share Improve this question edited Feb 7, 2013 at 15:38 kallekillen asked Feb 7, 2013 at 15:19 kallekillenkallekillen 1583 gold badges4 silver badges15 bronze badges 1
  • 1 Try the_author_meta( 'display_name' ). – Fabien Snauwaert Commented May 15, 2017 at 16:30
Add a comment  | 

2 Answers 2

Reset to default 11

Try the following:

<?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 {
    //both first name and last name are present
    $full_name = "{$fname} {$lname}";
}

echo $full_name;
?>

The get_the_author can directly be used to display the name of the author. There are few settings to be done on the admin for this:

  • Under the user settings add make sure you have the first and last name fields filled up.
  • After that see for the Display name publicly as options and select whichever format you want the name to be shown.
  • Click save and refresh your page.

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论