wp_nav_menu mit superfish

  • Hallo zusammen,

    ich habe ein superfish-Menü auf meiner XAMPP-Installation im Einsatz, das wunderbar läuft (Anleitung auf onlinecasinodemar).

    So binde ich es in der header.php ein:

    PHP
    <div id="logomenu">
            <ul id='cat-menu' class='sf-menu'>
        <?php wp_list_pages('sort_column=menu_order&title_li='); ?>
        <?php wp_list_categories('title_li='); ?>
        </ul>
    </div>

    Jetzt wollte ich einfach mal die für mich noch neue Menüfunktion von WP ausprobieren und scheitere :-(

    Ich habe zwei Anleitungen gelesen (elmastudio und 54grad) und scheitere mit beiden - die widersprechen sich m. E. auch etwas bzgl. der functions.php.

    Angenommen ich lege ein Menü an, dass ich mainmenu nenne, dann binde ich das doch so statt wp_list_pages etc. im header ein - richtig?

    PHP
    <?php wp_nav_menu( array('mainmenu' => 'mainmenu' )); ?>

    Und was muss in die functions.php?

    elmastudio schlägt das hier vor

    Code
    add_action( 'init', 'register_my_menus' );
    function register_my_menus() {
            register_nav_menus(
                    array(
                            'mainmenu' => __( 'Main Menu' ),
                    )
            );
    }

    54grad:

    Code
    register_nav_menus( array(
        'mainmenu'   => 'Primary Navigation',
    ) );

    Kann mir jemand verraten, wie ich vorgehen muss unter Berücksichtigung "meiner" suckerfish-CSS (<ul id='cat-menu' class='sf-menu'>)?

    danke euch...
    daniel

    • 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

  • FAST erledigt

    hab die lösung gefunden:

    http://www.wpexplorer.com/blog/superfish-wordpress.html

    im frontend funktioniert zwar alles wie gewünscht, allerdings erhalte ich jetzt einen fehler beim speichern der template-dateien:

    Warning: Cannot modify header information - headers already sent by (output started at /home/www/webxxx/html/xxxx/wp-content/themes/1.0/functions.php:15) in /home/www/webxxx/html/xxxx/wp-admin/theme-editor.php on line 99

    Woran kann das denn jetzt liegen??

  • ERLEDIGT - jetzt ohne Fehler & Warnungen

    für alle, die nach einer aktuell korrekten Vorgehensweise bei der Integration des Superfish-Menüs in Wordpress mit langen (was ist schon lang?) Untermenüpunkten suchen, hier die Lösung:


    1. superfish runterladen
    2. die benötigten Dateien in euren theme-ordner hochladen; bei dieser Anleitung habe ich den Unterordner "sf" eingerichtet, also ggfs. anpassen! Benötigte Dateien:
      superfish.js
      supersubs.js
      superfish.css
      ggfs. "/images"
    3. folgenden Code in die header.php direkt oberhalb von </head> einfügen:

    4. in der functions.php direkt oberhalb ?> folgenden code einfügen:

      Bei dieser Lösung wird jQuery von google geladen; Das soll Vorteile haben und habe ich im englischsprachigen WordPress-Raum häufiger gelesen.

      [COLOR=Red]1.6.2[/COLOR] ggfs. durch aktuelle jQuery-Version ersetzen. "[COLOR=Red]sf[/COLOR]" ggfs. durch richtigen Ordner ersetzen.


    So klappt das bei mir ohne "Warning: Cannot modify header information" - Fehler. Und auch mit einem Slider auf jQuery-Basis gibts keine Probleme.

  • und falls das noch jemand mit wp_nav_menu kombinieren will, dann am besten so vorgehen:


    1. in die functions.php folgenden code kopieren:

      Code
      if ( function_exists( 'register_nav_menu' ) ) {   register_nav_menu( 'primary', 'Primary Navigation Menu' );   register_nav_menu( 'secondary', 'Secondary Navigation Menu' ); }
    2. in der header.php (bzw. wo das Menü eben erscheinen soll) anstelle von z. B.

      PHP
      <?php wp_list_categories('title_li='); ?>

      diesen Code schreiben:

      PHP
      <?php
           wp_nav_menu( array(
              'theme_location' => 'primary',
              'menu_class' => 'sf-menu',
              'sort_column' => 'menu_order',
              'fallback_cb' => 'wp_page_menu',
              )
          );
      ?>
    3. achja, dann natürlich noch ein Menü unter "Design/Menüs" anlegen und dem primary-Menü zuordnen...


    Das wars! :-)

Jetzt mitmachen!

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