我不确定这是否会导致你的问题,但有一种方式你肯定Doing It Wrong 正在引用menu
而不是theme_location
在您的呼叫中wp_nav_menu()
.
假设您已在中将菜单注册为“主导航”functions.php
, 例如:
register_nav_menus( array(
\'main-navigation\' => \'Main Navigation\',
\'secondary-navigation\' => \'Secondary Navigation\'
) );
。。。然后你的
wp_nav_menu()
应引用此注册
theme_location
:
wp_nav_menu( array(
\'theme_location\' => \'main-navigation\',
\'menu_id\'=> \'headernav\',
\'menu_class\'=>\'navigate\'
) );
错误404模板页面输出nav菜单与任何其他模板没有任何不同的内在原因。如果上述方法无法解决问题,那么我们需要更多地了解您的
404.php
标记,以诊断问题。
EDIT
好吧,我试着注册了它,结果是:现在菜单根本没有注册。
你能更新你的答案并发布你的register_nav_menus()
密码
注意:确保此函数调用连接到after_setup_theme
; 它通常以theme_setup()
函数,连接到after_setup_theme
, 例如:
function mytheme_setup() {
// Register Nav Menu Locations
register_nav_menus( array(
\'main-navigation\' => \'Main Navigation\',
\'secondary-navigation\' => \'Secondary Navigation\'
) );
// Other Theme-setup functions may go here
}
add_action( \'after_setup_theme\', \'mytheme_setup\' );
所以,在你的答案中张贴代码。
此外,注册主题位置后,您需要转到Dashboard -> Appearance -> Menus
, 并确保applied your custom menu to the appropriate Theme Location.
EDIT 2
这是从我的标题调用菜单的代码。php文件:
<?php wp_nav_menu( array(\'theme_location\' => \'main-navigation\', \'menu\' => \'Main Navigation\',\'menu_id\'=> \'headernav\',\'menu_class\'=>\'navigate\')); ?>
You are still passing menu
and menu_id
parameters to wp_nav_menu()
.
你为什么这么做?正如我上面所说的,那就是Doing It Wrong. 您只需通过theme_location
参数到wp_nav_menu()
. WordPress然后应用通过Dashboard -> Appearance -> Menus
。
这是我404的代码。php文件:
我不确定它是否相关,但您的HTML标记格式不正确。你有一个空缺<article>
标记,无对应,关闭</article>
标签