wp_nav_menu() pierde ' menú actual *' clases en la página de producto único dentro de la categoría

Tengo mi menú Configurar así: Shop Online (página WPeC 'Productos página') categoría de producto (categoría WPeC) categoría de producto (categoría WPeC) producto Sub categoría (categoría WPeC) producto Sub categoría (categoría WPeC)... Solo producto páginas son visibles desde cualquier página en categoría o sub categoría pues ambos muestran el producto listado vista. Ahora cuando selecciono Shop Online, una categoría de producto o categoría de sub el menú actualiza su clases CSS para que coincida con la actual jerarquía con el habitual (ejemplo)
current-menu-page
,
current-menu-ancestor
y
current-menu-parent
entre otras cosas.

No importa si hago clic en el menú o la categoría listado en la tienda Online página para llegar allí. Por alguna razón tan pronto como ver un producto singular (
domain.tld/product-cat/sub-cat/product-single
o
domain.tld/product-cat/product-single
), se eliminan las clases de menú y pierdo mi menú resaltado porque las clases ya no existen.

¿Hay una forma que yo puedo reflejan la opinión de solo producto en el menú resaltando la actual categoría (s) que el producto es, así como la
Shop Online
¿menú elemento/enlace respectivo de cómo llegaste al producto? WP v3.5 WPeC v3.8.9.4.


Solución 1

Buscando una solución para el mismo problema, me encontré con esto:
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 'parent_url' class
        $classes[] = 'parent_url';
    }

    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 );
}
Código de: http://www.rarescosma.com/2010/11/add-a-class-to-wp_nav_menu-items-with-urls-included-in-the-current-url/ Espero ayuda!.

Solución 2

Según lo explicado por un soporte técnico sobre en getshopped.org:

[sic] es en realidad una limitación del sistema de menú de WordPress. No estoy al tanto de una manera de cambiar este comportamiento. Posiblemente se podría encontrar un plugin de menú y su área de menú un widget donde podrías añadir el menú widget que proporciona un sistema de menús mejorado..





Problemas relacionados

wp_nav_menu cambiada a wp_page_menu

que limitar el número de li en wp_nav_menu

wp_nav_menu, clase de walker, categorías como clases de li

Obtener el título de categoría de producto actual de taxonomía en woocommerce

Tengo que mostrar un producto específico (llamado por Meta campo) en su WooCommerce categoría página actual

Clase de menú seleccionado utilizando wp_nav_menu

Clases de menú ordenado nav excepto para edición menú artículo clases y clase activa

¿Mantener destaca 'elemento de menú actual' del menú de navegación?

Agregar clase nav menú CSS al cuerpo

Menú personalizado del tipo Post destacada en el archivo\/post

Walker nav eliminar submenú ul de cierta profundidad

Nombre para Mostrar menú utilizando wp_nav_menu

Source: Stack Exchange Inc; License: cc by-sa 3.0 Contacto / Contact