Php 如何通过姓氏获取显示名称?

Php 如何通过姓氏获取显示名称?,php,wordpress,function,woocommerce,Php,Wordpress,Function,Woocommerce,我有一个用户的姓氏,希望获得他们的显示名get\u user\u by()仅允许ID、slug、电子邮件或登录。如何从姓氏中获取显示名称 关于functions.php,我有: //Get user display name by last name function get_display_name_by_last_name( $last_name ) { global $wpdb; if ( ! $user = $wpdb->get_row( $wpdb->prepare

我有一个用户的姓氏,希望获得他们的显示名
get\u user\u by()
仅允许
ID
slug
电子邮件
登录。如何从姓氏中获取显示名称

关于functions.php,我有:

//Get user display name by last name
function get_display_name_by_last_name( $last_name ) {
    global $wpdb;
if ( ! $user = $wpdb->get_row( $wpdb->prepare(
        "SELECT `display_name` FROM $wpdb->users WHERE `last_name` = %s", $last_name
    ) ) )
        return false;
return $user->display_name;
}
我在page.php上看到:


由于姓和名等都位于
wp\u usermeta
上,因此您可以使用
JOIN
s相应地调整语句。通过
用户id
连接它们:

function get_display_name_by_last_name( $last_name ) {
    global $wpdb;
    if ( ! $user = $wpdb->get_row( $wpdb->prepare(
        "SELECT 
            wpu.display_name 
            FROM {$wpdb->prefix}users AS wpu
            JOIN {$wpdb->prefix}usermeta AS wpum 
                ON wpu.ID = wpum.user_id
            WHERE 
                wpum.meta_key = 'last_name' 
            AND 
                wpum.meta_value = %s", $last_name
    ) ) ) return false;
    return $user->display_name;
}

由于姓氏和名字等都位于
wp_usermeta
上,因此您可以使用
JOIN
s相应地调整语句。通过
用户id
连接它们:

function get_display_name_by_last_name( $last_name ) {
    global $wpdb;
    if ( ! $user = $wpdb->get_row( $wpdb->prepare(
        "SELECT 
            wpu.display_name 
            FROM {$wpdb->prefix}users AS wpu
            JOIN {$wpdb->prefix}usermeta AS wpum 
                ON wpu.ID = wpum.user_id
            WHERE 
                wpum.meta_key = 'last_name' 
            AND 
                wpum.meta_value = %s", $last_name
    ) ) ) return false;
    return $user->display_name;
}

谢谢我们如何调用此函数以使其输出
@newbieedshelp不需要
$user->display\u name
,它已经直接返回显示名称,因此
$display\u name=get\u display\u name\u by\u last\u name('Jackson');echo$display_name;?>谢谢。我们如何调用此函数以使其输出
@newbieedshelp不需要
$user->display\u name
,它已经直接返回显示名称,因此
$display\u name=get\u display\u name\u by\u last\u name('Jackson');echo$display_name;?>