webentwicklung-frage-antwort-db.com.de

was ist der beste Weg, um nav-menu-template.php anzupassen?

Ich habe die Funktion start_el in nav-menu-template.php geändert und $item->ID durch $item->title ersetzt, sodass die HTML-Elemente li im Menü besser lesbare Klassennamen haben. Im Detail habe ich die Zeile geändert

$id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args );

zu

$id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->title, $item, $args );

Dies erleichtert das Bearbeiten der style.css-Datei für ein Thema. Ich frage mich, ob es möglich ist, die Änderung von nav-menu-template.php auf das Design (möglicherweise functions.php?) Zu "übertragen", damit ich nicht gezwungen bin, die Datei bei jedem Upgrade der Version WP zu ändern.

1
Toc

Fügen Sie einfach Folgendes in Ihren functions.php ein:

add_filters( 'nav_menu_item_id', 'wpse64308_nav_menu_item_id',10,3);
function wpse64308_nav_menu_item_id( $id, $item, $args){
    return 'menu-item-'.$item->title;
}
2
Stephen Harris