Skip to content

Instantly share code, notes, and snippets.

@yratof
Created July 18, 2013 11:31
Show Gist options
  • Save yratof/6028612 to your computer and use it in GitHub Desktop.
Save yratof/6028612 to your computer and use it in GitHub Desktop.
Function to add CURRENT_PAGE class to current page menu items
<?php
add_filter( 'nav_menu_css_class', 'add_parent_url_menu_class', 10, 2 );
function add_parent_url_menu_class( $classes = array(), $item = false ) {
// Get current URL
$current_url = current_url();
// Get homepage URL
$homepage_url = trailingslashit( get_bloginfo( 'url' ) );
// Exclude 404 and homepage
if( is_404() or $item->url == $homepage_url ) return $classes;
if ( strstr( $current_url, $item->url) ) {
// Add the 'current page' class to the <li>
$classes[] = 'current_page';
}
return $classes;
}
function current_url() {
// Protocol
$url = ( 'on' == $_SERVER['HTTPS'] ) ? 'https://' : 'http://';
$url .= $_SERVER['SERVER_NAME'];
// Port
$url .= ( '80' == $_SERVER['SERVER_PORT'] ) ? '' : ':' . $_SERVER['SERVER_PORT'];
$url .= $_SERVER['REQUEST_URI'];
return trailingslashit( $url );
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment