首页 > 解决方案 > WordPress 将用户名和姓设置为导航链接名称

问题描述

今天我问自己“如何将当前用户的名字和姓氏设置为 WordPress 中的菜单项?”。所以我尝试了一下,只是问这个问题,因为我想与你分享我的解决方案!我希望它有时对你有所帮助。

标签: phphtmlarrayswordpress

解决方案


要将当前用户的名字和姓氏(或任何其他值)设置为导航,您首先需要在Menu设置中的菜单链接标题中添加一个占位符。就我而言,它是{user_name}

在此处输入图像描述


完成此操作后,保存菜单并打开主题functions.php文件。现在我有一些代码给你。将其复制到您的functions.php文件中保存并上传到您的服务器:

/**
 * Set user firstname and lastname into navigation
 */
add_filter( 'wp_nav_menu_objects', 'set_navigation_user_name' );
function set_navigation_user_name( $menu_items ) {
    foreach ( $menu_items as $menu_item ) {
        if ( '{user_name}' === $menu_item->title ) {
            //Get user and his name
            $current_user   = wp_get_current_user();
            $user_firstname = $current_user->user_firstname;
            $user_lastname  = $current_user->user_lastname;

            $menu_item->title = $user_firstname . ' ' . $user_lastname;
        }
    }

    return $menu_items;
}

您可以为占位符设置任何可能的值。例如,当您想将用户电子邮件设置为此占位符时,您可以这样做:

$menu_item->title = $current_user->user_email;

推荐阅读