Wordpress Navigation - nur Titel und Link in Array ausgeben

  • Hallo,

    ich bin verzweifelt auf der Suche nach einer Lösung wie ich eine Navigation namens "Hauptmenu" welche ich im Admin angelegt habe, in ein Array bekomme ohne jegliche HTML Codes.
    Oder so auslesen kann, das ich die classen und HTML TAG selber bestimmen kann, da ich das mit DIV lösen will und nicht mit Listen.

    Daher bräuchte ich nur den Namen und den Link der Navigation, da ich dann ein eigenes Script verwenden will das die Navi darstellt.

    Hoffe Ihr könnt mir helfen.

    Ein Dankeschön im Voraus aus Wien
    Oliver

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • bringt mich irgendwie nicht weiter, wenn ich die abfrage mache wie auf der seite beschrieben - kommt alles nur nicht das was ich will, ich bräuchte das menu " Impressum" als Array und nicht alle Posts ???

    danke für Hilfe, ich kenn mich leider mit WP nicht so gut aus.

  • Also du hast ein Menü unter Design->Menü erstellt ja? Wenn ja, sollte eig der folgende Code dir ein Array mit allen Items des Menüs ausgeben. Du musst nur in der ersten Zeile den Slug des Menüs eintragen.

    Oder ich steh gerade gewaltig auf dem Schlauch und missversteh dich :S

  • PHP
    <? $menu_name = 'Impressum';
    $locations = get_nav_menu_locations();
    
    
    $menu = wp_get_nav_menu_object( $locations[ $menu_name ] );
    
    
    $menu_items = wp_get_nav_menu_items($menu->term_id);
    var_dump($menu_items); ?>

    bringt bei mir beim var_dump ein

    HTML
    bool(false)


    mit print_r kommt gleich gar nichts?

    any ideas?

  • Dann hast du, schätze ich, nicht den Slug eingegeben.

    Bei mir zb. trage ich 'main' ein, da ich das Menü in der functions.php wie folgt registriert habe:

    Code
    register_nav_menus(array(
    	'main' => __( 'Hauptnavigation' )
    ));

    Ich denke mal, Impressum ist bei dir der richtige Titel wie bei mir Hauptnavigation

  • ich denke ich bin zu blöd dafür? hab mir halt PHP selber beigebracht und bei manchen ein brett vor dem kopf! sorry

    PHP
    $menu_name = register_nav_menus(array(    'main' => __( 'Impressum' )));
    $menu_name = 'main';
    $locations = get_nav_menu_locations();
    
    
    $menu = wp_get_nav_menu_object( $locations[ $menu_name ] );
    
    
    $menu_items = wp_get_nav_menu_items($menu->term_id);
    var_dump($menu_items)
  • Klappts jetzt oder nicht ? :D
    Und du musst dich für nix entschuldigen, hab mir PHP auch selbst beigebracht und auch oft genug verzweifelt, ist ja nix schlimmes :wink:

  • Ok also entferne mal nochmal deine erste Zeile mit "register_nav_menus" und so weiter. Denn das gehört eig in die functions.php.
    Hast du ne functions.php? Müsste eigentlich. Und guck in der mal, ob du irgendwo "register_nav_menus" schon findest und wenn ja kopier das mal hierher. Denn dann ist der Key vor "Impressum" im Array dein Slug, denn du in den restlichen Code-Block, wie gesagt abgesehen von der ersten Zeile, eingeben musst und dann müsste es eig klappen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!