Advertisement
salvatorifabio

CLEAN UP OUTPUT MENU

Mar 3rd, 2014
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.02 KB | None | 0 0
  1. <?php
  2. /********* CLEAN UP OUTPUT MENU *********/
  3. // Delete id's from menu li
  4. add_filter( 'wp_nav_menu', 'strip_id' );
  5. function strip_id( $menu ){
  6.     return $menu = preg_replace('/li id=\"(.*)\"/iU', 'li', $menu );
  7. }
  8.    
  9. // Delete all classes except "current-menu-item" - "current-menu-parent" - "custom class"          
  10. add_filter('nav_menu_css_class', 'discard_menu_classes', 10, 2);
  11. function discard_menu_classes($classes, $item) {
  12.     $classes = array_filter(
  13.         $classes,
  14.         create_function( '$class',
  15.                  'return in_array( $class,
  16.                      array( "current-menu-item", "current-menu-parent" ) );' )
  17.     );
  18.     return array_merge(
  19.         $classes,
  20.         (array)get_post_meta( $item->ID, '_menu_item_classes', true )
  21.     );
  22. }
  23. //Deletes empty classes and removes the sub menu class
  24. add_filter ('wp_nav_menu','strip_empty_classes');
  25. function strip_empty_classes($menu) {
  26.     $menu = preg_replace('/ class=""/','',$menu);
  27.     return $menu;
  28. }
  29. /********* end CLEAN UP OUTPUT MENU *********/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement