Comments (4)
Thank you @IanDelMar ! That has put me on the right track.
from wp-bootstrap-navwalker.
I'm having trouble creating a function that takes a parent menu item and adds an exact copy as the first item of its own drop-down menu.
As a clickable menu item or just like a header?
an exact copy
means a dropdown if it is a dropdown? But then you'd be creating a menu of infinite depth.
from wp-bootstrap-navwalker.
As a clickable menu item or just like a header?
Clickable menu item.
an exact copy
means a dropdown if it is a dropdown? But then you'd be creating a menu of infinite depth.
Exact as far as the text, data-bs-toggle, classes, etc., not the dropdown within the parent.
from wp-bootstrap-navwalker.
@CullenJWebb please note that this question is totally unrelated to the WP Bootstrap Navwalker. However, try this or use it as start for further adjustments. The code loops through all menu items of a menu associated with the theme location primary
. If and only if a menu item has the class menu-item-has-children
it is considered to be a parent menu item. It is then cloned and added to the array of menu items as it's own child.
add_action( 'wp_nav_menu_objects', 'slug_clone_parent_menu_item', 10, 2 );
function slug_clone_parent_menu_item( $sorted_menu_items, $args ) {
// Only apply modifications for the theme location 'primary'.
if ( 'primary' !== $args->theme_location ) {
return $sorted_menu_items;
}
$new_items = array();
$menu_order = 1;
foreach ( $sorted_menu_items as $item ) {
$item->menu_order = $menu_order;
$new_items[] = $item;
if ( in_array( 'menu-item-has-children', $item->classes, true ) ) {
$parent_clone = clone $item;
foreach ( $parent_clone->classes as $key => $value ) {
if ( 'menu-item-has-children' === $value ) {
unset( $parent_clone->classes[ $key ] );
}
}
$parent_clone->menu_item_parent = (string) $item->ID;
$parent_clone->menu_order = ++$menu_order;
$new_items[] = $parent_clone;
}
++$menu_order;
}
return $new_items;
}
Please consider closing the issue if the proposed solution solves your problem.
from wp-bootstrap-navwalker.
Related Issues (20)
- What is `WP_Nav_Menu_Args` and `WP_Nav_Menu_Item`? HOT 5
- Scroll mobile menu HOT 6
- Useless PHP unit tests for multisites?
- Third Level menu works, but it needs toggle icon in mobile to avoid hover problem
- Navwalker dropdown doesn't remain open on click HOT 5
- How to add an additional first item to all dropdown without using wordpress menu management. HOT 7
- Grant repo access to IanDelMar HOT 3
- Skipping data-toggle attribute and dropdown-toggle class (for mobile and tablet viewports) HOT 3
- Bootstrap 5 - How to make parent dropdown links clickable instead of # HOT 2
- Menu button disappears when clicked HOT 8
- Active Class Font Color Not Working HOT 3
- WP Bootstrap Nav walker disappeared after reloading template HOT 3
- How to Display sub items if the Menu first level is Category selected?
- Dropdown is not working HOT 36
- How can I modify the closing li tag HOT 1
- Warning: Array to string conversion on line 149 in PHP 8.2
- Dropdown exit Animation HOT 1
- Link with dropdown associated to a page contains no URL but a #. HOT 1
- Mobile menu nog showing HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wp-bootstrap-navwalker.