• May 1, 2018

    สร้าง wordpress menu
    1. dropdown ได้
    2. responsive แสดงเป็น ปุ่มเดียว (toggle button)

    navigation.js

    ( function() {
        var nav = document.getElementById( 'site-navigation' ), button, menu;
        if ( ! nav ) {
            return;
        }
     
        button = nav.getElementsByTagName( 'button' )[0];
        menu   = nav.getElementsByTagName( 'ul' )[0];
        if ( ! button ) {
            return;
        }
     
        // Hide button if menu is missing or empty.
        if ( ! menu || ! menu.childNodes.length ) {
            button.style.display = 'none';
            return;
        }
     
        button.onclick = function() {
            if ( -1 === menu.className.indexOf( 'nav-menu' ) ) {
                menu.className = 'nav-menu';
            }
     
            if ( -1 !== button.className.indexOf( 'toggled-on' ) ) {
                button.className = button.className.replace( ' toggled-on', '' );
                menu.className = menu.className.replace( ' toggled-on', '' );
            } else {
                button.className += ' toggled-on';
                menu.className += ' toggled-on';
            }
        };
    } )(jQuery);

    functions.php

    wp_enqueue_script( 'wpb_togglemenu', get_template_directory_uri() . '/js/navigation.js', array('jquery'), '20160909', true );

    header.php

    <nav id="site-navigation" class="main-navigation" role="navigation">
                <button class="menu-toggle">Menu</button>
                <?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?>
    </nav>

    style.css

    /* Navigation Menu */
    .main-navigation {
        margin-top: 24px;
        margin-top: 1.714285714rem;
        text-align: center;
    }
    .main-navigation li {
        margin-top: 24px;
        margin-top: 1.714285714rem;
        font-size: 12px;
        font-size: 0.857142857rem;
        line-height: 1.42857143;
    }
    .main-navigation a {
        color: #5e5e5e;
    }
    .main-navigation a:hover,
    .main-navigation a:focus {
        color: #21759b;
    }
    .main-navigation ul.nav-menu,
    .main-navigation div.nav-menu > ul {
        display: none;
    }
     
    .main-navigation ul.nav-menu.toggled-on,
    .menu-toggle {
        display: inline-block;
    }
     
    /*CSS to use on mobile devices*/
     
    @media screen and (min-width: 600px) {
     
    .main-navigation ul.nav-menu,
        .main-navigation div.nav-menu > ul {
            border-bottom: 1px solid #ededed;
            border-top: 1px solid #ededed;
            display: inline-block !important;
            text-align: left;
            width: 100%;
        }
        .main-navigation ul {
            margin: 0;
            text-indent: 0;
        }
        .main-navigation li a,
        .main-navigation li {
            display: inline-block;
            text-decoration: none;
        }
        .main-navigation li a {
            border-bottom: 0;
            color: #6a6a6a;
            line-height: 3.692307692;
            text-transform: uppercase;
            white-space: nowrap;
        }
        .main-navigation li a:hover,
        .main-navigation li a:focus {
            color: #000;
        }
        .main-navigation li {
            margin: 0 40px 0 0;
            margin: 0 2.857142857rem 0 0;
            position: relative;
        }
        .main-navigation li ul {
            margin: 0;
            padding: 0;
            position: absolute;
            top: 100%;
            z-index: 1;
            height: 1px;
            width: 1px;
            overflow: hidden;
            clip: rect(1px, 1px, 1px, 1px);
        }
        .main-navigation li ul ul {
            top: 0;
            left: 100%;
        }
        .main-navigation ul li:hover > ul,
        .main-navigation ul li:focus > ul,
        .main-navigation .focus > ul {
            border-left: 0;
            clip: inherit;
            overflow: inherit;
            height: inherit;
            width: inherit;
        }
        .main-navigation li ul li a {
            background: #efefef;
            border-bottom: 1px solid #ededed;
            display: block;
            font-size: 11px;
            font-size: 0.785714286rem;
            line-height: 2.181818182;
            padding: 8px 10px;
            padding: 0.571428571rem 0.714285714rem;
            width: 180px;
            width: 12.85714286rem;
            white-space: normal;
        }
        .main-navigation li ul li a:hover,
        .main-navigation li ul li a:focus {
            background: #e3e3e3;
            color: #444;
        }
        .main-navigation .current-menu-item > a,
        .main-navigation .current-menu-ancestor > a,
        .main-navigation .current_page_item > a,
        .main-navigation .current_page_ancestor > a {
            color: #636363;
            font-weight: bold;
        }
        .menu-toggle {
            display: none;
        }
         
        }

    ระวัง

    แบบนี้ใช้ไม่ได้ใน .css
    // CSS to use on mobile devices
    
    ต้องใช้แบบนี้
    /* CSS to use on mobile devices */

    และต่อด้วยการสร้าง  Slide-In Mobile Menu in WordPress

    http://www.wpbeginner.com/wp-themes/how-to-create-a-mobile-ready-responsive-wordpress-menu/



เวอไนน์ไอคอร์ส

ประหยัดเวลากว่า 100 เท่า!






เวอไนน์เว็บไซต์⚡️
สร้างเว็บไซต์ ดูแลเว็บไซต์

Categories