首页 > 文章列表 > 解析功能:wp_nav_menu的考察

解析功能:wp_nav_menu的考察

解析 功能 wp_nav_menu
332 2023-08-31

当 WordPress 3 向我们提供新的菜单功能时,它永远改变了我们查看导航菜单的方式。我们不再必须使用普通的页面列表功能或构建我们自己的自定义菜单功能来集成类别和页面菜单以及导航菜单中的外部或硬链接项目。但我们可以如何利用这个新功能进行定制呢?在本教程中,我们将深入探讨 wp_nav_menu 函数可以执行的所有操作,使用 Walker 类添加子描述,并触及其一些相关函数。


参数

该函数有多个参数可供使用。以下是 WordPress.org Codex 中列出的默认值:

<?php $defaults = array(
	'theme_location'  => ,
	'menu'            => ,
	'container'       => 'div',
	'container_class' => 'menu-{menu slug}-container',
	'container_id'    => ,
	'menu_class'      => 'menu',
	'menu_id'         => ,
	'echo'            => true,
	'fallback_cb'     => 'wp_page_menu',
	'before'          => ,
	'after'           => ,
	'link_before'     => ,
	'link_after'      => ,
	'items_wrap'      => '<ul id="%1$s" class="%2$s">%3$s</ul>',
	'depth'           => 0,
	'walker'          =>
);
?>

<?php wp_nav_menu( $defaults ); ?>

主题位置

使用此参数,我们可以设置主题位置,然后在“菜单”页面上使用该位置来设置在主题的该部分中工作的菜单,而无需手动定义应在此处显示的菜单。这对于主题分发者非常有帮助,因为仅当用户为该位置定义了菜单时,您才能使用条件来显示菜单。唯一的其他要求是您使用函数 register_nav_menu() 来注册这些位置。当您设置菜单支持时,这通常是通过函数文件完成的。

让我们开始构建自定义菜单功能参数,假设我们已经注册了一个名为“primary”的主题位置。

$params = array(
	'theme_location' => 'primary'
);

菜单

此参数用于手动定义应使用哪个菜单。在我们的示例中,我们仅设置一个通用菜单位置,而不是定义要使用的确切菜单位置,但如果我们想要告诉函数使用名为“主导航”的菜单,我们的参数将如下所示:

$params = array(
	'theme_location' => 'primary',
	'menu' => 'Primary Navigation'
);

容器

默认情况下,我们的菜单将包含在 div 中,但如果您像我一样,通常不需要这个,并且可能希望减少 divs 和其他标签的使用量尽可能保持代码整洁。您还可以使用此参数定义不同的标签,例如 html5

来源:https://code.tutsplus.com/function-examination-wp_nav_menu--wp-25525t
上一篇 如何在Python中创建高阶函数? 下一篇 MySQL中两个时间戳(以秒为单位)之间的差异?

本类最新

查看更多