Anzahl der Seiten im Menü auslesen

  • Hallo!
    Ich würde gern eine CSS Box für das Menü erstellen, die sich automatisch dem Menü anpasst.

    In etwa so:

    1 Menüeintrag ist 20px hoch.

    Menü hat 6 Einträge, also muss die Box 6*20px=120px hoch sein.


    Wenn der Kunde jetzt im Backend das Menü verändert, soll die Box "mitwachsen" bzw. "mitschrumpfen".

    Dazu muss ich aus dem WP3.0 Menü die Anzahl der Einträge als Variable auslesen. Weiss hier jemand, ob es dafür eine WP Funktion gibt und wenn ja wie die heißt?

    VG Markus

    • 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

  • Mit jQuery geht das per size(). Wenn deine Menü-Liste z.B. id="main-menu" und die Box id="box" hat:

    Code
    <script>
    $(document).ready(function(){
    
    
        var my_list_size = $('#main-menu').size(); // Anzahl der Listenpunkte (<li>)
        $('#box').height( my_list_size * 20 ); // Höhe von #box in px
    
    
    });
    </script>


    Kann sein, dass das bordeigene jQuery Zicken macht. In diesem Fall $(document).ready(function(){...}) bitte ersetzen durch

    Code
    jQuery(document).ready(function($){...})

    Irgendwo in wp_head() oder wp_footer() sollte natürlich jQuery aufgerufen werden. Z.B. in der functions.php:

    PHP
    // Lädt das bordeigene jQuery in WordPress
    function meine_spezielle_init() {
        wp_enqueue_script( 'jquery', 0,0,1 ); // 1 = wird in wp_footer() geladen
    }
    add_action( 'init', 'meine_spezielle_init' );

    Der Fehler ist die einzige Konstante im kreativen Prozess.

Jetzt mitmachen!

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