custom Sidebar abfragen, ohne Sidebar gleich auszugeben

  • custom Sidebar abfragen, ohne Sidebar gleich auszugeben - gelöst

    Hallo,
    normalerweise lautet die IF Bedingung für eine custom Sidebar (hier: header-middle) wie folgt:

    HTML
    <div id="header-middle">
    <?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar('header-middle') ) : ?>
    <?php endif; ?>
    </div>

    Jedoch möchte ich die Sidebar abfragen, ohne dass diese gleich ausgegeben wird. Ist die Sidebar leer, soll der zugehörige <div> Container gar nicht erst erscheinen.

    in etwa so:

    HTML
    <?php if ( function_exists('dynamic_sidebar') && ##gesuchtebedingung## ) : ?>
    <div id="header-middle">
    <?php //nomale sidebar ausgabe
    dynamic_sidebar('header-middle')   ?>
    </div>
    <?php endif; ?>

    Wie kann ich Soetwas realisieren?

    Einmal editiert, zuletzt von Rupert (28. Oktober 2009 um 22:56)

    • 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

  • Gibt es vllt. von PHP- Seite her eine Möglichkeit Funktionen in Bedingung zu stellen ohne diese auszuführen?

    (bin ich hier im falschen Forum?)

    mfg

    EDIT: Lösung

    in der wp-includes/widgets.php gibt es folgende Methode:

    PHP
    function is_active_sidebar( $index ) {
        $index = ( is_int($index) ) ? "sidebar-$index" : sanitize_title($index);
        $sidebars_widgets = wp_get_sidebars_widgets();
        if ( isset($sidebars_widgets[$index]) && !empty($sidebars_widgets[$index]) )
            return true;
    
    
        return false;
    }

    Übergebe ich die (array)Nummer der customSidebar, kann ich damit die customSidebar abfragen. Das geht etwa so:

    PHP
    <?php if (is_active_sidebar(3)): ?>
    <div id="header-middle">
    <?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar('header-middle') ) : ?>
    <?php endif; ?>
    </div> 
     <?php endif; ?>

    "3" Wäre in meinem Fall die 3. definierte Sidebar. Die Parameterübergabe mit dem sidebarnamen hat nicht funktioniert.

    "if ( function_exists('dynamic_sidebar') &&" könnte man sich in diesem Fall dann auch sparen.

    mfg

    Einmal editiert, zuletzt von Rupert (28. Oktober 2009 um 22:55)

Jetzt mitmachen!

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