我看到这个问题的变化已经得到回答,但我正在努力弄清楚如何申请我的网站。
当我单击具有子级的顶级链接时,我可以让它切换以显示子导航项或转到链接页面。我想要两者都有(单击一次切换,第二次单击转到链接,或悬停切换)。这是我正在使用的 navwalker 代码。我已经尝试了多种方式。我对编码基本 html 和 css 之外的任何内容都是新手。任何帮助表示赞赏!
原始代码有$atts['href'] = '#';
代替$atts['href'] = ! empty( $item->url ) ? $item->url : '';
我也试过 $atts['data-hover'] = 'dropdown';
代替 $atts['data-toggle'] = 'dropdown';
这是我现在在文件 class-wp-navwalker.php 中拥有的版本,下面是它解析为的 html。
// Initialize array for holding the $atts for the link item.
$atts = array();
$atts['title'] = ! empty( $item->attr_title ) ? $item->attr_title : '';
$atts['target'] = ! empty( $item->target ) ? $item->target : '';
if ( '_blank' === $item->target && empty( $item->xfn ) ) {
$atts['rel'] = 'noopener noreferrer';
} else {
$atts['rel'] = ! empty( $item->xfn ) ? $item->xfn : '';
}
// If the item has_children add atts to <a>.
if ( $this->has_children && 0 === $depth ) {
$atts['href'] = '#';
$atts['data-toggle'] = 'dropdown';
$atts['aria-haspopup'] = 'true';
$atts['aria-expanded'] = 'false';
$atts['class'] = 'dropdown-toggle nav-link';
$atts['id'] = 'menu-item-dropdown-' . $item->ID;
} else {
if ( true === $this->has_schema ) {
$atts['itemprop'] = 'url';
}
$atts['href'] = ! empty( $item->url ) ? $item->url : '#';
// For items in dropdowns use .dropdown-item instead of .nav-link.
if ( $depth > 0 ) {
$atts['class'] = 'dropdown-item';
} else {
$atts['class'] = 'nav-link';
}
}
和html...
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#bs-navbar-collapse-1" aria-controls="bs-navbar-collapse-1" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div id="bs-navbar-collapse-1" class="collapse navbar-collapse">
<ul id="primary-menu" class="nav navbar-nav" itemscope itemtype="http://www.schema.org/SiteNavigationElement">
<li id="menu-item-367" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-has-children dropdown menu-item-367 nav-item"><a href="http://sal-new:8888/" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="dropdown-toggle nav-link" id="menu-item-dropdown-367"><span itemprop="name">About Us</span></a>
<ul class="dropdown-menu" aria-labelledby="menu-item-dropdown-367">
<li id="menu-item-101" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-101 nav-item"><a itemprop="url" href="http://sal-new:8888/about-us/our-story/" class="dropdown-item"><span itemprop="name">Our Story</span></a></li>
<li id="menu-item-102" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-102 nav-item"><a itemprop="url" href="http://sal-new:8888/about-us/rc/" class="dropdown-item"><span itemprop="name">RC</span></a></li>
</ul>
</li>
<li id="menu-item-99" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-92 current_page_item active menu-item-99 nav-item"><a itemprop="url" href="http://sal-new:8888/our-work/" class="nav-link" aria-current="page"><span itemprop="name">Our Work</span></a></li>
<li id="menu-item-362" class="menu-item menu-item-type-post_type_archive menu-item-object-event menu-item-362 nav-item"><a itemprop="url" href="http://sal-new:8888/events/" class="nav-link"><span itemprop="name">Events</span></a></li>
<li id="menu-item-364" class="menu-item menu-item-type-post_type_archive menu-item-object-resource menu-item-364 nav-item"><a itemprop="url" href="http://sal-new:8888/resources/" class="nav-link"><span itemprop="name">Resources</span></a></li>
<li id="menu-item-104" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-104 nav-item"><a itemprop="url" href="http://sal-new:8888/something/" class="nav-link"><span itemprop="name">Contact</span></a></li>
</ul>
</div>