这个词很难说,所以请容忍我。
我已经生成了一个wp\\u nav\\u菜单,menu-1,作为主菜单。
与基本的b****菜单相比,菜单相当复杂。您可以根据用户是否登录显示和隐藏零件。
因此,其中一个导航元素仅在用户登录时显示。它会将“Hi NAME”作为导航项显示。
我的任务是将用户头像放在这之前。然而,为了获得用户化身,我需要使用另一个WP函数get\\u avatar()。我在后端的菜单部分看不到可以为特定导航输入代码的区域。我也不能在标题中告诉它wp\\u nav\\u menu()函数的位置。
我知道如何获得用户的头像。我知道如何按照我的意愿来设计它。我不知道如何告诉它该放在哪里/我把代码放在哪里。。。
你们知道怎么做吗?
以下是我创建导航的代码:
<?php
wp_nav_menu( array(
\'theme_location\' => \'menu-1\',
\'menu_id\' => \'main-menu\',
\'container\' => \'\',
) );
?>
这是输出的代码:
<div id="menu" class="collapse display-none lg:block width-100 lg:width-auto text-right">
<ul class="list-reset mt0 mb0 lg:flex">
<li class="border-top border-darken-1 lg:border-none">
<a class="block py1 px2 lg:px1 sm:h3 bold blue hover:dark-blue">Product Categories</a>
<ul class="sub-menu">
<li class="border-top border-darken-1 lg:border-none"><a href="/" class="block py1 px2 lg:px1 sm:h3 bold blue hover:dark-blue">Metals</a></li>
<li class="border-top border-darken-1 lg:border-none"><a href="/" class="block py1 px2 lg:px1 sm:h3 bold blue hover:dark-blue">Polymers</a></li>
<li class="border-top border-darken-1 lg:border-none"><a href="/" class="block py1 px2 lg:px1 sm:h3 bold blue hover:dark-blue">Ceramics</a></li>
<li class="border-top border-darken-1 lg:border-none"><a href="/" class="block py1 px2 lg:px1 sm:h3 bold blue hover:dark-blue">Alloys</a></li>
<li class="border-top border-darken-1 lg:border-none"><a href="/" class="block py1 px2 lg:px1 sm:h3 bold blue hover:dark-blue">Composites</a></li>
</ul>
</li>
<li class="border-top border-darken-1 lg:border-none"><a href="/" class="block py1 px2 lg:px1 sm:h3 bold blue hover:dark-blue">Designer Spotlight</a></li>
<li class="border-top border-darken-1 lg:border-none"><a href="/" class="block py1 px2 lg:px1 sm:h3 bold blue hover:dark-blue">My Boards</a></li>
<li class="border-top border-darken-1 lg:border-none"><a href="/" class="block py1 px2 lg:px1 sm:h3 bold blue hover:dark-blue">Hi Jason</a></li>
</ul>
</div>
如果我在css中执行此操作,并且只有一个资产可以放置在那里:
#menu a[href$=\'/my-account/\']:before {
content: \'\';
width: 30px;
height: 30px;
margin-right: 10px;
display: inline-block;
background-image: url(https://www.catster.com/wp-content/uploads/2018/06/bringing-home-kitty-mouth-open-wide.jpg)
}
但是我需要使用这个获取用户头像的代码(未经测试-也许我也需要这段代码的帮助):
function get_current_user_id() {
if ( ! function_exists( \'wp_get_current_user\' ) ) {
return 0;
}
$user = wp_get_current_user();
return ( isset( $user->ID ) ? (int) $user->ID : 0 );
$avatar_image = get_avatar($user);
}
希望你能理解/帮助?
谢谢,杰森。
EDIT: 只是为了重新打开它,答案中的“正确答案”理论是正确的,但我实际上没有从函数中返回化身:
<?php
function get_current_user_avatar_url() {
if ( ! function_exists( \'wp_get_current_user_id\' ) ) {
return false;
}
$user = wp_get_current_user_id();
return get_avatar_url($user);
}
$avatarURL = get_current_user_avatar_url(); ?>
<?php if ($avatarURL != \'\') : ?>
<style>
#menu a[href$=\'/my-account/\']:before {
content: \'\';
width: 30px;
height: 30px;
margin-right: 10px;
display: inline-block;
background-image: url(<?php if ($avatarURL != \'\') : ?><?php echo $avatarURL; ?><?php endif; ?>);
}
</style>
现在我知道在代码中的什么地方以及如何使用它了,请有人帮我把这个代码片段处理好吗?