Php WordPress菜单位于标题外
如果用户转到主页以外的页面,则“我的标题”会更改布局 除了功能Php WordPress菜单位于标题外,php,wordpress,wp-nav-menu-item,Php,Wordpress,Wp Nav Menu Item,如果用户转到主页以外的页面,则“我的标题”会更改布局 除了功能wp\u nav\u菜单,其他一切都正常工作 首先,我检查用户是否在主页上。根据结果,用户将显示两个标题中的一个 代码如下: <?php $menu = wp_nav_menu( array( 'theme_location' => 'hoofdmenu' ) ); echo is_front_page() ? '' : ' <header> <div class
wp\u nav\u菜单
,其他一切都正常工作
首先,我检查用户是否在主页上。根据结果,用户将显示两个标题中的一个
代码如下:
<?php
$menu = wp_nav_menu( array( 'theme_location' => 'hoofdmenu' ) );
echo is_front_page() ? '' : '
<header>
<div class="hoofdmenu">
<div class="hamburger">
<a href="#" id="click-a"><img width="80" height="80" src="'.get_bloginfo('template_directory').'/images/hamburger.png"></a>
</div>
'.$menu.'
</div>
</header>';
?>
关于为什么将wp\u nav\u菜单
置于标题
之外,您有什么想法吗
-------更新--------
echo是首页()
“.wp_导航菜单(数组('theme_location'=>'hoofdmenu'))。”
(在答案底部添加了更新,您可以跳过第一部分)
根据,该函数显示(echo
)菜单,不返回该菜单
wp_导航_菜单(数组$args=array())
显示导航菜单
因此,当您使用
$menu = wp_nav_menu( array( 'theme_location' => 'hoofdmenu' ) );
实际上是打印菜单,而不是将其保存在$menu
变量中,因此它是在标题代码之前打印的
解决办法是:
echo is_front_page() ? '' : '
<header>
<div class="hoofdmenu">
<div class="hamburger">
<a href="#" id="click-a"><img width="80" height="80" src="'.get_bloginfo('template_directory').'/images/hamburger.png"></a>
</div>
'.wp_nav_menu( array( 'theme_location' => 'hoofdmenu' ) ).'
</div>
</header>';
简单的解决方案。如果将echo设为false,代码将正常工作。 来自WP文档
//'echo'
//(bool) Whether to echo the menu or return it. Default true.
$menu = wp_nav_menu( array( 'theme_location' => 'hoofdmenu', 'echo' => false ) );
echo is_front_page() ? '' : '
<header>
<div class="hoofdmenu">
<div class="hamburger">
<a href="#" id="click-a"><img width="80" height="80" src="'.get_bloginfo('template_directory').'/images/hamburger.png"></a>
</div>
'.wp_nav_menu( array( 'theme_location' => 'hoofdmenu' ) ).'
</div>
</header>';
if(!is_front_page()){
echo '<header>
<div class="hoofdmenu">
<div class="hamburger">
<a href="#" id="click-a"><img width="80" height="80" src="'.get_bloginfo('template_directory').'/images/hamburger.png"></a>
</div>';
wp_nav_menu( array( 'theme_location' => 'hoofdmenu' ) );
echo '
</div>
</header>';
}
$menu = wp_nav_menu( array( 'theme_location' => 'hoofdmenu', 'echo' => false) );
//'echo'
//(bool) Whether to echo the menu or return it. Default true.
$menu = wp_nav_menu( array( 'theme_location' => 'hoofdmenu', 'echo' => false ) );