wordpress和bootstrap实现导航条

前言:是不是有一种办法可以直接去掉默认的ul li标签,然后在直接通过link_before和link_after直接实现添加自己的类和标签,这样就不用通过过滤器和函数来实现了,但是我这个没有用这种方法,不知道怎么操作,所以我用了最笨的方法,其实网上用插件比较简单。如果有说得不对的地方,请指正。
functions.php

<?php
function simple_theme_setup()
{
    //添加缩略图支持
    add_theme_support('post_thumbnails');
    // 自定义菜单
    register_nav_menus(array(
        'one_menu' => _('第一个菜单栏'),
        'two_menu' => _('第二个菜单栏')
    ));
}
add_action('after_setup_theme', 'simple_theme_setup');
function menu_args()
{
    if (function_exists('wp_nav_menu')):
        wp_nav_menu(
         array(
                'menu'=>'one_menu',
                'depth'=> 0, // 1 = no dropdowns, 2 = with dropdowns.
                'container'=> 'div',
                'container_class' => 'collapse navbar-collapse',
                'container_id'    => 'nav-top',
                'menu_class'      => 'navbar-nav mr-auto',
//                'link_before'=>'<li class="nav-item"><a href="#"> ',
//                'link_after'=>'</a></li>',
                'walker'          => ''
            )
        );

    endif;
}
//去掉默认的类和id还有class
add_filter('nav_menu_css_class', 'my_css_attributes_filter', 100, 1);
add_filter('nav_menu_item_id', 'my_css_attributes_filter', 100, 1);
add_filter('page_css_class', 'my_css_attributes_filter', 100, 1);
function my_css_attributes_filter($var) {
    //添加类
    return is_array($var) ? array('nav-link nav-item') : '';
}
//操作a标签
function xintheme_menu_link_atts( $atts, $item, $args ) {
    //给a标签添加类
    $atts['class'] = 'nav-link text-dark';
    //给a标签添加属性
//    $atts['data-link-alt'] = $item->title;
    return $atts;
}
add_filter( 'nav_menu_link_attributes', 'xintheme_menu_link_atts', 10, 3 );

index.php

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title><?php bloginfo('name') ?></title>
    <link rel="stylesheet" href="<?php bloginfo('template_directory')?>/style.css">
    <link rel="stylesheet" href="<?php bloginfo('template_directory') ?>/css/bootstrap-4.0.0.css">
    <script type="text/javascript" src="<?php bloginfo('template_directory')?>/js/jquery-3.2.1.min.js"></script>
    <script type="text/javascript" src="<?php bloginfo('template_directory')?>/js/bootstrap-4.0.0.js"></script>
    <script type="text/javascript" src="<?php bloginfo('template_directory')?>/js/popper.min.js"></script>
</head>
<style>
</style>
<body>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#nav-top">
        <span class="navbar-toggler-icon"></span>
    </button>
    <?php
    menu_args();
    ?>
</nav>
</body>
<script>
    $('.navbar-nav>li').eq(0).addClass('active');
//    $('.navbar-nav>li>a').addClass('text-dark');
</script>
</html>

效果图
在这里插入图片描述
后续:本文转载于https://www.xintheme.com/wpjiaocheng/49255.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值