- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道 HTML 代码放在菜单的什么位置。是否有模板菜单可以跟随。
为了更清楚:
当我调用“wp_nav_menu()”时,会呈现哪个文件?
最佳答案
wp_nav_menu()
函数在 wp-includes/nav-menu-template.php 中定义:
function wp_nav_menu( $args = array() ) {
static $menu_id_slugs = array();
$defaults = array( 'menu' => '', 'container' => 'div', 'container_class' => '', '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' => '', 'theme_location' => '' );
$args = wp_parse_args( $args, $defaults );
$args = apply_filters( 'wp_nav_menu_args', $args );
$args = (object) $args;
// Get the nav menu based on the requested menu
$menu = wp_get_nav_menu_object( $args->menu );
// Get the nav menu based on the theme_location
if ( ! $menu && $args->theme_location && ( $locations = get_nav_menu_locations() ) && isset( $locations[ $args->theme_location ] ) )
$menu = wp_get_nav_menu_object( $locations[ $args->theme_location ] );
// get the first menu that has items if we still can't find a menu
if ( ! $menu && !$args->theme_location ) {
$menus = wp_get_nav_menus();
foreach ( $menus as $menu_maybe ) {
if ( $menu_items = wp_get_nav_menu_items($menu_maybe->term_id) ) {
$menu = $menu_maybe;
break;
}
}
}
// If the menu exists, get its items.
if ( $menu && ! is_wp_error($menu) && !isset($menu_items) )
$menu_items = wp_get_nav_menu_items( $menu->term_id );
// If no menu was found or if the menu has no items and no location was requested, call the fallback_cb if it exists
if ( ( !$menu || is_wp_error($menu) || ( isset($menu_items) && empty($menu_items) && !$args->theme_location ) )
&& $args->fallback_cb && is_callable( $args->fallback_cb ) )
return call_user_func( $args->fallback_cb, (array) $args );
// If no fallback function was specified and the menu doesn't exists, bail.
if ( !$menu || is_wp_error($menu) )
return false;
$nav_menu = $items = '';
$show_container = false;
if ( $args->container ) {
$allowed_tags = apply_filters( 'wp_nav_menu_container_allowedtags', array( 'div', 'nav' ) );
if ( in_array( $args->container, $allowed_tags ) ) {
$show_container = true;
$class = $args->container_class ? ' class="' . esc_attr( $args->container_class ) . '"' : ' class="menu-'. $menu->slug .'-container"';
$id = $args->container_id ? ' id="' . esc_attr( $args->container_id ) . '"' : '';
$nav_menu .= '<'. $args->container . $id . $class . '>';
}
}
// Set up the $menu_item variables
_wp_menu_item_classes_by_context( $menu_items );
$sorted_menu_items = array();
foreach ( (array) $menu_items as $key => $menu_item )
$sorted_menu_items[$menu_item->menu_order] = $menu_item;
unset($menu_items);
$sorted_menu_items = apply_filters( 'wp_nav_menu_objects', $sorted_menu_items, $args );
$items .= walk_nav_menu_tree( $sorted_menu_items, $args->depth, $args );
unset($sorted_menu_items);
// Attributes
if ( ! empty( $args->menu_id ) ) {
$wrap_id = $args->menu_id;
} else {
$wrap_id = 'menu-' . $menu->slug;
while ( in_array( $wrap_id, $menu_id_slugs ) ) {
if ( preg_match( '#-(\d+)$#', $wrap_id, $matches ) )
$wrap_id = preg_replace('#-(\d+)$#', '-' . ++$matches[1], $wrap_id );
else
$wrap_id = $wrap_id . '-1';
}
}
$menu_id_slugs[] = $wrap_id;
$wrap_class = $args->menu_class ? $args->menu_class : '';
// Allow plugins to hook into the menu to add their own <li>'s
$items = apply_filters( 'wp_nav_menu_items', $items, $args );
$items = apply_filters( "wp_nav_menu_{$menu->slug}_items", $items, $args );
$nav_menu .= sprintf( $args->items_wrap, esc_attr( $wrap_id ), esc_attr( $wrap_class ), $items );
unset( $items );
if ( $show_container )
$nav_menu .= '</' . $args->container . '>';
$nav_menu = apply_filters( 'wp_nav_menu', $nav_menu, $args );
if ( $args->echo )
echo $nav_menu;
else
return $nav_menu;
}
关于wordpress - wordpress 中 wp_nav_menu 的 HTML 存在于哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10829395/
我的网址是这样的: http://domain.com/?s=searchquery&post_type=qa_faqs 该页面列出了“searchquery”的搜索结果。 然后我得到了帖子类型 $p
有没有办法改变 child 由 WordPress 本身生成自定义类名? 我认识家长您可以使用 'menu_class' => 'newname' 删除或更改名称. 我找不到答案。我试过'submen
如何在网站标题中垂直居中 det wordpress 函数 wp_nav_menu?我已经使用了 learnWebCode 菜单教程链接:https://www.youtube.com/watch?v
我有以下代码: $nav_menu_args = array('fallback_cb' => '','menu' => 'menu', 'menu_class' => 'menu_class');
我正在尝试从我的 wordpress 菜单中删除特定链接: First Second Third function remove_link( $menu ) { return str_repl
这是一个 self 问答。 如何修改 wp_nav_menu 输出中出现的文本/html?例如,我想为页面和类别添加特色图像。 您会看到使用自定义步行器执行此操作的示例,但对于小的更改来说,代码非常复
在我的主题中有一个导航菜单功能 function ct_nav() { 'nav', 'theme_location' => 'primary') ); ?> } 如何手动添加
我需要使用 wp_nav_menu 设置一些分页,所以我需要访问菜单中的上一个、当前和下一个项目。有什么想法吗? 最佳答案 好的,这就是我想出的——而且它有效。 term_id, array( 'or
我正在尝试使用我在另一个站点上使用的脚本来让我的导航菜单下拉菜单正确地设置动画。 这是脚本: jQuery(window).load(function() { $("#menu > div >
哦,光荣的 Stack,给我谜语吧;为什么我的 wp_nav_menu 没有样式? 我的 function.php 设置如下: 'Header Navigation')); } ?> 我的 wp_n
如何转换: menu1 到 wp_nav_menu 里面的div和class太多了,谁能帮我解决这个问题?谢谢! 最佳答案 这可以使用 css 中的 nth-child() 选择器来完
我使用 wordpress 函数 wp_nav_menu() 来显示我在 WP 菜单中创建的分层菜单。这是片段: 这是它的 html 输出: Home Page Il film Di ch
我正在尝试使用 wp_nav_menu() 制作按钮菜单,但是当我尝试将文本(有时是三行或两行文本)放置在背景图像的中间时,我无法垂直对齐。将鼠标悬停在我想添加的链接上时,它似乎不起作用。 CSS .
我该怎么做: 我想使用 wp_nav_menu() 创建菜单并稍微自定义它的输出 html。我想把 在链接 在每个 里面菜单项。 我知道我可以使用 的背景图像来完成此操作css 中的元素,但我的目
它包含 家, 公司, 帮助支持, 产品, 定价,和 登录。 我在页眉的导航栏中使用它,我将在页脚中使用它。在页脚中,它只会显示所有菜单项,但不包括登录。我该怎么办?我是 wordpress 的新手。
我希望有一个简单的 css 修复程序。问题很简单,我正在制作一个自定义的 wordpress 主题,我正在使用一些自定义菜单,代码工作正常,但我制作了一个带有分隔符的内联菜单 css 样式(由 bor
我环顾四周,似乎找不到一种直接的方法来做到这一点。我有一个使用 wp_nav_menu 的下拉菜单的页面列表,我只想将指向您当前所在页面的链接设为不同的颜色。 最佳答案 您是否尝试过使用选择器 cur
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 11 年前。 Improve th
如何在 wp_nav_menus 中添加图标?..这是我设计的图片 http://postimg.org/image/w7x2hfn75/ 我想把第一个菜单做成图标,有什么办法吗?.. 我的代码 '
我有一个名为“header-menu”的菜单,我只希望这个菜单受到我在下面编写的函数的影响。如何防止其他菜单受到影响? 脚本在 header.php 中是这样调用的 'header-menu');
我是一名优秀的程序员,十分优秀!