Zeigen Sie das Navigations-Header-Menü per Post und Categerie an

Zunächst möchte ich Ihnen sagen, dass ich im Bereich der Entwicklung von WordPress ein wenig neu bin. Auf der anderen Seite finde ich es sehr mächtig, dass wir unsere WordPress-Seite “codieren” können!

Mein Problem ist folgendes: Ich möchte mein Hauptnavigationsmenü per Post oder Kategorie ändern (ersetzen). Denn wenn ich auf einen Beitrag einer Kategorie klicke, wird mein Navigationsmenü auf den Standardbildschirm geschaltet, den ich nicht möchte. Ich habe versucht, über das Internet und hier nach einer Lösung zu suchen, aber leider konnte ich keine finden. Ich habe dann folgende Idee: Was passiert, wenn ich meine Menüargumente in der functions.php ändere? Mein Code-Snippet, was ich in der functions.php geschrieben habe, ist folgendes:

add_filter( 'wp_nav_menu_args', 'bb_wp_nav_menu_args' ); function bb_wp_nav_menu_args( $args = '' ) { if( is_single('123') ) { $args['menu_id'] = '12'; } if( is_single('116') ) { $args['menu_id'] = '12'; } if( is_category('15') ) { $args['menu_id'] = '12'; } return $args; } 

Hier sind 123 und 116 die IDs von Posts. Und natürlich ist die Nummer 15 die Kategorie … aber leider funktioniert es nicht. Was ist deine Meinung? Wo liegt das Problem? Wären Sie so freundlich, mir in dieser Angelegenheit zu helfen? Vielen Dank im Voraus und Entschuldigung, wenn meine Frage sehr neu ist!

Bearbeiten: Ich möchte einige zusätzliche Informationen hinzufügen, weil diese relevant sein könnten: Ich benutze Hueman Thema und ich möchte das Header-Menü anstelle des Topbar-Menüs ändern. Danke noch einmal!

Solutions Collecting From Web of "Zeigen Sie das Navigations-Header-Menü per Post und Categerie an"

Dieser Code überprüft, ob der theme_location header . Das menu ist außerdem der Parameter, in dem das gewünschte WordPress Nav-Menü angegeben wird. menu_id ist die HTML-ID, die auf das

    -Element angewendet wird, das das Menü bildet. Docs zu den Argumenten für wp_nav_menu() finden Sie hier .

     add_filter( 'wp_nav_menu_args', 'bb_wp_nav_menu_args' ); function bb_wp_nav_menu_args( $args ) { if ( 'header' !== $args['theme_location'] ) { return $args; } if ( is_single( '123' ) ) { $args['menu'] = '12'; // Replace with desired menu ID, slug, or name } else if ( is_single( '116' ) ) { $args['menu'] = '12'; // Replace with desired menu ID, slug, or name } else if ( is_category( '15' ) ) { $args['menu'] = '12'; // Replace with desired menu ID, slug, or name } return $args; }