Inhalte der Sidebar je nach Postlänge ein/ausblenden

  • Hallo,

    ich bräuchte mal wieder eure Hilfe. Und zwar möchte ich auf den Postseiten bestimmte Inhalte meiner Sidebar nur einblenden, wenn ein Post so und so lang ist. Soll heißen, ist der Text zum Beispiel insgesamt nur 10 Zeilen lang, sollen nur die ersten drei Widgets der Sidebar angezeigt werden, ist er hingegen richtig lang, darf's ruhig die vollständige Sidebar sein.

    Meine Frage ist nun, wie aknn ich dies erreichen? Wie "zähle" ich die Zeilen, meinetwegen auch Wörter oder Buchstaben des Posts und wie setze ich das beschriebene dann in Code um?

    Ich hoffe, ihr könnt mir helfen! :smile:

    LG,
    Apples

    • 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

  • ein erster schritt - die anzahl der zeichen im content bereich 'rausfinden:
    am anfang der sidebar einfuegen:

    PHP
    wp_reset_query(); 
       $text_length = 0;
       while(have_posts()) : the_post();
       $text_length = $text_length + strlen(get_the_content($post->ID)); 
       endwhile;
       echo '<br/>Artikel haben '.$text_length.' Zeichen, ohne die Titel';
       wp_reset_query(); // to get query back to normal



    zweiter schritt geht einfacher fuer sidebar ohne widgets:
    in der sidebar.php:

    PHP
    <?php // minimalen block von 'widgets' anzeigen ;
    if($text_length >= 1000) { 
    // zweiten block von 'widgets' zeigen 
    }
    if($text_length >= 2000) { 
    // dritten block von 'widgets' zeigen 
    }
    // etc... 
    ?>



    mit widgets wuesste ich im moment nicht, wie das geht.

Jetzt mitmachen!

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