A custom WordPress nav walker class to fully implement the Twitter Bootstrap 4.0+ navigation style (v3-branch available for Bootstrap 3) in a custom theme using the WordPress built in menu manager.

Overview

WP Bootstrap Navwalker

Code Climate Test Coverage Issue Count Build Status Scrutinizer Code Quality Code Coverage Build Status

This code in the main repo branch is undergoing a big shakeup to bring it in line with recent standards and to merge and test the backlog of PRs I have left for too long. Please use the v4.3.0 tag for stable version while this process happens. https://github.com/wp-bootstrap/wp-bootstrap-navwalker/releases/tag/v4.3.0

A custom WordPress Nav Walker Class to fully implement the Bootstrap 4 navigation style in a custom theme using the WordPress built in menu manager.

NOTES

This is a utility class that is intended to format your WordPress theme menu with the correct syntax and CSS classes to utilize the Bootstrap dropdown navigation. It does not include the required Bootstrap JS and CSS files - you will have to include them manually.

WordPress.org Theme Compliance

This walker is fully compliant with all Theme Review guidelines for wordpress.org theme submission. It requires no modification to be compliant but you can optionally replace the wp-bootstrap-navwalker text domain (which appears twice in the fallback function) with the text domain of your theme.

Upgrade Notes

Between version 3 and version 4 of the walker there have been significant changes to the codebase. Version 4 of the walker is built to work with Bootstrap 4 and has not been tested for backwards compatibility with Bootstrap 3. A separate branch for Bootstrap 3 is maintained here: https://github.com/wp-bootstrap/wp-bootstrap-navwalker/tree/v3-branch

Here is a list of the most notable changes:

  • The filename has been changed and prefixed with class- to better fit PHP coding standards naming conventions.
    • New Name: class-wp-bootstrap-navwalker.php
    • Old Name: wp-bootstrap-navwalker.php
  • Icon and link modifier handling is now done through the CSS Classes menu item input instead of the Title input.
  • Icon only items are possible using icon classes in combination with the sr-only classname.

Installation

Place class-wp-bootstrap-navwalker.php in your WordPress theme folder /wp-content/themes/your-theme/

Open your WordPress themes functions.php file - /wp-content/themes/your-theme/functions.php - and add the following code:

/**
 * Register Custom Navigation Walker
 */
function register_navwalker(){
	require_once get_template_directory() . '/class-wp-bootstrap-navwalker.php';
}
add_action( 'after_setup_theme', 'register_navwalker' );

If you encounter errors with the above code use a check like this to return clean errors to help diagnose the problem.

if ( ! file_exists( get_template_directory() . '/class-wp-bootstrap-navwalker.php' ) ) {
    // File does not exist... return an error.
    return new WP_Error( 'class-wp-bootstrap-navwalker-missing', __( 'It appears the class-wp-bootstrap-navwalker.php file may be missing.', 'wp-bootstrap-navwalker' ) );
} else {
    // File exists... require it.
    require_once get_template_directory() . '/class-wp-bootstrap-navwalker.php';
}

You will also need to declare a new menu in your functions.php file if one doesn't already exist.

register_nav_menus( array(
    'primary' => __( 'Primary Menu', 'THEMENAME' ),
) );

Usage

Add or update any wp_nav_menu() functions in your theme (often found in header.php) to use the new walker by adding a 'walker' item to the wp_nav_menu args array.

wp_nav_menu( array(
    'theme_location'  => 'primary',
    'depth'           => 2, // 1 = no dropdowns, 2 = with dropdowns.
    'container'       => 'div',
    'container_class' => 'collapse navbar-collapse',
    'container_id'    => 'bs-example-navbar-collapse-1',
    'menu_class'      => 'navbar-nav mr-auto',
    'fallback_cb'     => 'WP_Bootstrap_Navwalker::fallback',
    'walker'          => new WP_Bootstrap_Navwalker(),
) );

Your menu will now be formatted with the correct syntax and classes to implement Bootstrap dropdown navigation.

Typically the menu is wrapped with additional markup, here is an example of a fixed-top menu that collapse for responsive navigation at the md breakpoint.

<nav class="navbar navbar-expand-md navbar-light bg-light" role="navigation">
  <div class="container">
    <!-- Brand and toggle get grouped for better mobile display -->
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-controls="bs-example-navbar-collapse-1" aria-expanded="false" aria-label="<?php esc_attr_e( 'Toggle navigation', 'your-theme-slug' ); ?>">
        <span class="navbar-toggler-icon"></span>
    </button>
    <a class="navbar-brand" href="#">Navbar</a>
        <?php
        wp_nav_menu( array(
            'theme_location'    => 'primary',
            'depth'             => 2,
            'container'         => 'div',
            'container_class'   => 'collapse navbar-collapse',
            'container_id'      => 'bs-example-navbar-collapse-1',
            'menu_class'        => 'nav navbar-nav',
            'fallback_cb'       => 'WP_Bootstrap_Navwalker::fallback',
            'walker'            => new WP_Bootstrap_Navwalker(),
        ) );
        ?>
    </div>
</nav>

To change your menu style add Bootstrap nav class names to the menu_class declaration.

Review options in the Bootstrap docs for more information on nav classes.

Displaying the Menu

To display the menu you must associate your menu with your theme location. You can do this by selecting your theme location in the Theme Locations list while editing a menu in the WordPress menu manager.

Making this Walker the Default Walker for Nav Menus

There has been some interest in making this walker the default walker for all menus. That could result in some unexpected situations but it can be achieved by adding this function to your functions.php file.

function prefix_modify_nav_menu_args( $args ) {
    return array_merge( $args, array(
        'walker' => new WP_Bootstrap_Navwalker(),
    ) );
}
add_filter( 'wp_nav_menu_args', 'prefix_modify_nav_menu_args' );

Simply updating the walker may not be enough to get menus working right, you may need to add wrappers or additional classes, you can do that via the above function as well.

Usage with Bootstrap 5

Bootstrap 5 uses namespaced data attributes. All data attributes now include bs as an infix. The new attributes work just like the old ones. Here’s the menu toggle button from the example above with the renamed data attributes.

<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#bs-example-navbar-collapse-1" aria-controls="bs-example-navbar-collapse-1" aria-expanded="false" aria-label="<?php esc_attr_e( 'Toggle navigation', 'your-theme-slug' ); ?>">
    <span class="navbar-toggler-icon"></span>
</button>

The walker also adds a data attribute for dropdown toggles via the start_el() method. Paste this to your functions.php to make the walker use the infixed data attibute.

add_filter( 'nav_menu_link_attributes', 'prefix_bs5_dropdown_data_attribute', 20, 3 );
/**
 * Use namespaced data attribute for Bootstrap's dropdown toggles.
 *
 * @param array    $atts HTML attributes applied to the item's `<a>` element.
 * @param WP_Post  $item The current menu item.
 * @param stdClass $args An object of wp_nav_menu() arguments.
 * @return array
 */
function prefix_bs5_dropdown_data_attribute( $atts, $item, $args ) {
    if ( is_a( $args->walker, 'WP_Bootstrap_Navwalker' ) ) {
        if ( array_key_exists( 'data-toggle', $atts ) ) {
            unset( $atts['data-toggle'] );
            $atts['data-bs-toggle'] = 'dropdown';
        }
    }
    return $atts;
}

Menu Caching

On some sites generating a large menu that rarely ever changes on every page request is an overhead that you may want to avoid. In those cases I can suggest you look at storing menu results in a transient.

The biggest drawback to caching nav menus with this method is that it cannot easily apply the .current-menu-item or the .active class to the currently active item as WP decides what is currently active on page load - and since the menu is cached it only knows the active page that it was cached on originally.

You can decide yourself if you want to put up with those drawbacks for the benefit of removing the menu generation time on most page loads. You can follow this article by Dave Clements to see how we cached nav menus that were generated by this walker: https://www.doitwithwp.com/use-transients-speed-wordpress-menus/

Be sure to set the echo argument to FALSE in the wp_nav_menu() call when doing this so that the results can be stored instead of echoed to the page.

See also:

Extras

This script included the ability to use Bootstrap nav link mods in your menus through the WordPress menu UI. Disabled links, dropdown headers and dropdown dividers are supported. Additionally icon support is built-in for Glyphicons and Font Awesome (note: you will need to include the icon stylesheets or assets separately).

Icons

To add an Icon to your link simply enter Glyphicons or Font Awesome class names in the links CSS Classes field in the Menu UI and the walker class will do the rest. IE glyphicons glyphicons-bullhorn or fa fa-arrow-left or fas fa-arrow-left.

Icon-Only Items

To make an item appear with the icon only apply the bootstrap screen reader class sr-only to the item alongside any icon classnames. This will then hide only the text that would appear as the link text.

Disabled Links

To set a disabled link simply add disabled to the CSS Classes field in the Menu UI and the walker class will do the rest. Note: In addition to adding the .disabled class this will change the link href to # as well so that it is not a follow-able link.

Dropdown Headers, Dropdown Dividers & Dropdown Item Text

Headers, dividers and text only items can be added within dropdowns by adding a Custom Link and adding either dropdown-header, dropdown-divider or dropdown-item-text into the CSS Classes input. Note: This will remove the href on the item and change it to either a <span> for headers or a <div> for dividers.

Changelog

Please see the Changelog.

Comments
  • Support for multi-level/sub-navbar?

    Support for multi-level/sub-navbar?

    Hi There,

    I'm a little confused as to how it maps menu items to buttons on the Bootstrap Navbar. I'm attempting to use a sub-navbar like this, but obviously styled and suited to my needs.

    However, how I do it to link those additional buttons in the second-level navbar to my menu items? Or is this even possible?

    Thanks. screen shot 2015-06-11 at 9 26 09 am

    [TYPE] QUESTION [STATUS] NEEDS TESTING 
    opened by g12mcgov 28
  • Drop Down not working

    Drop Down not working

    Hello,

    I am currently attempting to implement this resource for a WordPress theme I am working on. I am developing it on my local computer.

    For some reason I can't get the drop down to work. I followed the instructions and put the necessary code into my functions.php file and the header.php and I put the nav walker into the root of the theme folder.

    Not sure why it's not working.

    Am I missing something?

    opened by PixemWeb 28
  • Support Navbar in Bootstrap 4

    Support Navbar in Bootstrap 4

    Any plans to support Navbar in Bootstrap 4?

    v4 https://v4-alpha.getbootstrap.com/components/navbar/#supported-content

    v3 https://getbootstrap.com/components/#navbar-default

    It's much less verbose than Bootstrap 3, might be easier to support?

    I would add a pull request but I can't dissect your code that quickly.

    [TYPE] ENHANCEMENT BOOTSTRAP 4 
    opened by brettalton 26
  • Top Level Drop Down Menu Link

    Top Level Drop Down Menu Link

    I was wondering if anyone has found a fix to allow top level drop down menus link?

    I have managed to add the correct url to the link by changing line 85 of wp_bootstrap_navwalker.php from $atts['href'] = '#'; To $atts['href'] = ! empty( $item->url ) ? $item->url : '';

    and by adding this CSS: ul.nav li.dropdown:hover ul.dropdown-menu { display: block !important; }

    This displays the submenu when hovering and links to top level link to the correct page but forsome reason when I click to view the toplevel page nothing happens?

    Help much appreiated! Thanks, Nick

    opened by NickMcBurney 18
  • Navwalker - Issue with menu toggle expand

    Navwalker - Issue with menu toggle expand

    I've decided to move to the navwalker bootsrap menu on my wordpress site, and started testing the new menu on my development site rather than directly on the live site. Once done I'v copied everything from my development to my live site and everything works except for the expand toggle.

    Navbar code in header:

            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                    <?php /* Primary navigation */
                wp_nav_menu( array(
                  'menu' => 'top_menu',
                  'theme_location' => 'primary',
                  'depth' => 2,
                  'container' => false,
                  'menu_class' => 'nav navbar',
                  //Process nav menu using our custom nav walker
                  'walker' => new wp_bootstrap_navwalker())
                );
                ?>
            </div><!-- /.navbar-collapse -->
    

    Any help is greatly appreciated as fixes from other pages failed to work.

    Thanks in advance, J

    opened by josephborg07 17
  • Error:

    Error: "failed to open stream"

    Hello All,

    I am getting the following error after following the instructions:

    Warning: require_once(wp_bootstrap_navwalker.php): failed to open stream: No such file or directory in D:\sites\aim-hire\wp-content\themes\aim-hire\functions.php on line 375

    I can confirm that the 'wp_bootstrap_navwalker.php' is in the root of the theme folder along with the 'functions.php' file.

    I am developing locally at the moment, hence the local file path.

    Any ideas?

    Thanks, Lisa

    opened by ScarletPonytail 16
  • Bootstrap v4.0.0-alpha1

    Bootstrap v4.0.0-alpha1

    opened by sebakerckhof 16
  • wp-bootstrap-navwalker dropdowns NOT working.

    wp-bootstrap-navwalker dropdowns NOT working.

    I installed the required code into the respective files and updated the "wp-bs-nw.php" file to the "theme" directory.

    http://www.auxilliumit.com

    I started setting up menus in wordpress. When I went to test them I got no "About .> Services" sublink

    I have tried everything including a dozen other plugins. Thought the dropdown isn't working this resource at least actually works with the wordpress custom menus

    Please help, on a deadline and freaking out LOL

    opened by AngeloAlves 16
  • How to add a search menu to my navigation.

    How to add a search menu to my navigation.

    I'm having some trouble implementing a search function into the navigation. I put in the form under the <php navbar stuff. But the search function ends up on the left side of the navigation, how can I fix this?

    www.charter-motorcoach.com

    opened by Markj89 14
  • Dropdown not working (upon click) in Bootstrap 3.0.3

    Dropdown not working (upon click) in Bootstrap 3.0.3

    Sorry to bring up a closed issue, but the dropdown is not working (upon click) with Bootstrap 3.0.3 for me either. Dropdown js is already included in bootstrap.js, and all js loads fine. Any suggestions? I really appreciate it.

    (Didn't have this problem in previous 3.0-versions.)

    opened by jardindefleurs 14
  • Updated dropdown headers

    Updated dropdown headers

    Updated the "nav-header" class to "dropdown-header" to move inline with Bootstrap 3 RC1 classes.

    Retained backwards compatibility for anyone who has "nav-header" in their existing menus which will output as the new class name. Backwards compatibility to be remove upon official launch of Bootstrap 3

    opened by pattonwebz 14
  • Update class-wp-bootstrap-navwalker.php

    Update class-wp-bootstrap-navwalker.php

    Got sent here from Understrap with a small change that checks whether the target property exists in $item as I was getting the following php warnings;

    Fixes # Notice - Undefined property: stdClass::$target - 10 - wp-content/themes/understrap/inc/class-wp-bootstrap-navwalker.php:185 - Parent Theme

    Changes proposed in this Pull Request:

    A check at the start of the if statement to check the property exists.

    My original pull request https://github.com/understrap/understrap/pull/1861

    [TEAM] DEV [TYPE] BUG [STATUS] NEEDS REPORTER FEEDBACK [SIZE] SMALL 
    opened by XanderCalvert 3
  • WP Bootstrap Nav walker disappeared after reloading template

    WP Bootstrap Nav walker disappeared after reloading template

    I’m using Wordpress locally [MAMP-php caching turned off] and Bootstrap 5. I’m also using Polylang plugin.(so there was menu for each language).

    The problem is wp-bootstrap-navwalker disapeard after removing and adding again Wordpress exact the same template. When logged out - it shows nothing. When logged in - it shows “Add Menu”. After clicking and creating new menu, still there is no new menu.

    Browser console doesn’t show any error. I’ve already made sure, and followed once again every step of installing navwalker.

    Any idea how to make it appear again?

    opened by jakubkanna 3
  • [WIP] Add Bootstrap 5 support

    [WIP] Add Bootstrap 5 support

    This PR adds basic Bootstrap 5 support to the walker.

    Fixes #528

    Changes proposed in this Pull Request:

    • Adds the possibility to request Bootstrap 5 markup via the arguments passed to the wp_nav_menu() function.
    • Adds the bs infix to data attributes if Bootstrap 5 markup is requested.
    • Adds the .active class to the a element instead of the li element if Bootstrap 5 markup is requested.

    Proposed changelog entry for your changes:

    Add basic Bootstrap 5 support

    Notes:

    • Unit tests are missing - but I suggest to add them later in another PR
    • This PR builds upon #530
    • Todo:
      • add support for .visually-hidden

    Related issues and PRs:

    #499, #513, #500

    [STATUS] NEEDS UNIT TESTS [PRIORITY] HIGH [TEAM] DEV [TYPE] ENHANCEMENT [SIZE] MEDIUM [STATUS] NEEDS REVIEW BOOTSTRAP 5 
    opened by IanDelMar 1
  • Fix placement of the .active class for dropdown items & remove dropdown when item has no visible children

    Fix placement of the .active class for dropdown items & remove dropdown when item has no visible children

    Fixes #431 (misplaced .active class). Fixes dropdown markup on items without children (reported in https://github.com/wp-bootstrap/wp-bootstrap-navwalker/issues/517#issuecomment-909436992).

    Changes proposed in this Pull Request:

    • Defines 3 new boolean variables for better readability: $is_dropdown, $is_dropdown_item, $is_active. They indicate whether a menu item is a dropdown, a dropdown item and whether the menu item is active.
    • Removes the .active class from the li-element and add it to the a-element if the item is a dropdown item. (https://getbootstrap.com/docs/4.6/components/dropdowns/#active)
    • Removes the dropdown markup if a menu item has children but display is restricted by $args-depth.

    Proposed changelog entry for your changes:

    Fix misplaced .active class Remove dropdown markup on items without visible children

    [PRIORITY] HIGH [SIZE] MEDIUM BOOTSTRAP 4 [STATUS] NEEDS REVIEW [TYPE] BUGFIX 
    opened by IanDelMar 0
  • Active Class Font Color Not Working

    Active Class Font Color Not Working

    Steps to reproduce the issue:

    I use:

    • Wordpress 5.8.1
    • Boostrap 5.1

    What I expected:

    Active page link have white color.

    What happened instead:

    Active page link color not change.

    [PRIORITY] MEDIUM [TEAM] DEV [TYPE] BUG BOOTSTRAP 5 
    opened by ferryfernando 1
Releases(v4.3.0)
  • v4.3.0(Oct 2, 2019)

  • v4.0.2(Feb 25, 2018)

    • Update the walker to do better regex matching on classnames
    • Adds autoload for main file through composer
    • Sets # values on the dropdown src instead of empty string
    • Adds more unit testing for the classname splitter function in walker
    Source code(tar.gz)
    Source code(zip)
  • v4.0.0(Feb 10, 2018)

    Here is a list of the most notable changes between the Bootstrap 3 version and the Bootstrap 4 version:

    • The filename has been changed and prefixed with class- to better fit PHP coding standards naming conventions.
      • New Name: class-wp-bootstrap-navwalker.php
      • Old Name: wp-bootstrap-navwalker.php
    • Icon and link modifier handling is now done through the CSS Classes menu item input instead of the Title input.
    • Icon only items are possible using icon classes in combination with the sr-only classname.
    Source code(tar.gz)
    Source code(zip)
  • 3.0.0(Feb 10, 2018)

    This is the final release (with exception to minor tweaks) for the Bootstrap 3 version of this walker. It's unlikely to receive many updates going forward.

    Source code(tar.gz)
    Source code(zip)
  • 2.0.5(Mar 14, 2017)

  • 2.0.4(Oct 16, 2013)

    This release offers full support for managing Bootstrap 3.0 menus through the WordPress menu manager and supports, glyphicons, dividers, nav headers & disables links. Now with a graceful fallback function.

    Changes in this release

    • Updated fallback function to accept args array from wp_nav_menu

    Tested With

    • WordPress 3.6
    • Bootstrap 3.0
    • WP_Debug
    • Theme-Check
    • Debug Bar

    Upgrade Notes In order to use the custom fallback function you must update your fallback_cb attribute in your wp_nav_menu declaration.

    <?php
        wp_nav_menu( array(
            'menu'              => 'primary',
            'theme_location'    => 'primary',
            'depth'             => 2,
            'container'         => 'div',
            'container_class'   => 'collapse navbar-collapse navbar-ex1-collapse',
            'menu_class'        => 'nav navbar-nav',
            //New fallback_cb attribute
            'fallback_cb'       => 'wp_bootstrap_navwalker::fallback',
            'walker'            => new wp_bootstrap_navwalker())
        );
    ?>
    
    Source code(tar.gz)
    Source code(zip)
Owner
WP Bootstrap
Bootstrap tools for WordPress
WP Bootstrap
Wordless is a junction between a WordPress plugin and a theme boilerplate that dramatically speeds up and enhances your custom theme creation

Wordless is a junction between a WordPress plugin and a theme boilerplate that dramatically speeds up and enhances your custom theme creation. Some of

weLaika 1.4k Dec 9, 2022
Adds WordPress toolbar menu that allows users to switch theme for themselves.

Toolbar Theme Switcher — for WordPress Plugin provides toolbar (admin bar) menu to quickly switch between available themes. Theme choice is individual

Andrey Savchenko 20 Jul 23, 2021
A PHP client for Wordpress websites that closely implement the XML-RPC WordPress API

Wordpress XML-RPC PHP Client A PHP client for Wordpress websites that closely implement the XML-RPC WordPress API Created by Hieu Le MIT licensed. Cur

Hieu Le 112 Nov 10, 2022
Custom WordPress theme for DotOrg

wd_s Debt Collective Theme Table of Contents Introduction Getting Started Prerequisites Quick Start Advanced Setup Development Contributing and Suppor

The Debt Collective 1 Oct 31, 2022
🔍️ A WordPress plugin to automatically send a user to the page or post if it's the only search result available.

One Search Result A WordPress plugin to automatically send a user to the page or post if it's the only search result available. When there is only one

Brad Parbs 9 Oct 6, 2021
Style guide for writing consistent PHP for WordPress projects.

Inpsyde PHP Coding Standards PHP 7+ coding standards for Inpsyde WordPress projects. Installation The code styles are enforced via the popular php_cod

Inpsyde GmbH 77 Nov 14, 2022
A PHP Class for creating Wordpress Custom Post Types easily

N.B I've released an updated version of the project to a new repository, PostTypes. WP Custom Post Type Class v1.4 A single class to help you build mo

Joe Grainger 412 Nov 25, 2022
A completely BLANK WordPress theme for using with Oxygen Builder.

A completely BLANK WordPress "theme" to use with Oxygen Builder. After installation and activation delete all other themes. This theme will never need to be updated.

WebSchematix 10 Aug 26, 2022
A curated list of Awesome WordPress Theme, Plugins and Framework development Resources and WordPress Communities.

Awesome WordPress A curated list of Awesome WordPress Theme, Plugins and Framework development Resources and WordPress Communities. Inspired by bayand

Dropndot Limited 91 Dec 26, 2022
Twenty Twenty-Two, the default WordPress theme that will launch with WordPress 5.9.

Twenty Twenty-Two Welcome to the development repository for the default theme that will launch with WordPress 5.9. About Twenty Twenty-Two is designed

null 414 Nov 28, 2022
A WordPress package for updating custom plugins and themes based on an API response from a custom update server.

WordPress Update Handler A WordPress package for updating custom plugins and themes based on an JSON REST API response from a custom update server. Ch

WP Forge 7 Oct 5, 2022
Wordpress advance plugin with multi purposes features like live chat, custom post type, custom forms, word count etc

What is this? This is wordpress plugin which is created for the multi purpose uses. How to use? Simply install the plugin. Go to the plugin settigs pa

Amir Liaqat 2 Jun 23, 2022
WordPress Framework based on parent theme

Cherry Framework The most delicious WordPress framework Fully responsive design, easy install, steady updates, great number of shortcodes and widgets,

Cherry Framework 158 Nov 23, 2022
A WordPress theme switcher for developers

WP Theme Switcher To help you build or preview a new theme directly on your site without affecting your visitors (they always see the default theme wh

WP Clevel 3 Oct 20, 2021
Sakura🌸: A Wonderful WordPress Theme

Sakura??: A Wonderful WordPress Theme

幼稚鬼呀 2 Dec 15, 2022
The WordPress theme powered by the Laravel Framework.

Laravel in WordPress Theme Laravel is a web application framework with expressive, elegant syntax. It's one of the most popular PHP frameworks today.

null 201 Dec 11, 2022
The most powerful all in one, SEO-friendly theme for WordPress.

Help us Become a backer via Patreon. Make one time donation with PayPal. About Seven SERP Theme Seven SERP Theme is an open source WordPress theme. Wi

Seven SERP 3 Nov 19, 2021
Création du thème "mytheme" WordPress from Scratch

<!DOCTYPE html> <html lang="fr"> <head> <meta name="viewport" content="width=device-width" /> <meta http-equiv="Content-Type" content="text/html;

Jules Eulalie 0 Dec 27, 2021
A WordPress theme I developed for metamaxlab.com website.

=== metamaxlab === A WordPress theme I developed for metamaxlab.com website. This theme has compatibility with Bootstrap 5.1, Font Awesome, and Jetp

Gregory Noguera 0 Jul 17, 2022