aufklappbare Widgets

  • Hallo,

    gibt es ein PlugIn, um meine Widgets aufklappbar zu machen? Also kein neues Theme (nutze atahualpa) oder alternative Widgets, sondern eine Funktion, damit bestimmte(!) Widgets im Normalfall eingeklappt sind (auf die Titelleiste des Widgets beschränkt) und der Nutzer es durch einen Klick aufklappen kann.
    Es gibt einfach Sachen wie die Schlagwortwolke oder das Archiv, die ich nicht von der Seite verbannen will, wegens der Übersicht aber nicht ständig angezeigt haben möchte. Natürlich müsste der Zustand gespeichert bleiben. Nutzer klappt die Schlagwortwolke auf, klickt auf eines und bekommt die entsprechdenen Artikel angezeigt. Dann kann er direkt auf ein weiteres klicken, ohne das Widget wieder aufklappen zu müssen.
    Möglich? Konnte nichts finden.

    Beste Grüße,
    Drongo

    • 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

  • Mmh, hat leider nicht funktioniert. Es geht um ein div mit der ID "[COLOR=#008000]widgets-reloaded-tags-6[/COLOR]" und der class "[COLOR=#b22222]widget tags[/COLOR]".
    Davor habe ich als Widget den Text

    Code
    <a href="#" class="show">Schlagwörter anzeigen</a>

    eingefügt. Der Code bleibt auch so erhalten.
    Als Java Script kommt folgendes dazu (bleibt auch erhalten):

    Code
    <script type="text/javascript">  $(function() {
        $('.show').click(function() {
          $('.[COLOR=#b22222]widget tags[/COLOR]').slideToggle();
          $(this).text($(this).text() == 'Text bzw. div aufklappen' ? 'Information wieder einklappen' : 'Text bzw. div aufklappen');
        });
      });
    </script>


    und als CSS

    Code
    #[COLOR=#008000]widgets-reloaded-tags-6[/COLOR]{display: none;}

    Die Zeile $('.widget tags').slideToggle(); müsste doch den CSS-display-Status umstellen, oder? Klasse und ID sind korrekt. display:none wird z.B. korrekt angewandt.

    Aber wie auch immer. Selbst wenn es funktioniert, würde das sicher nicht den nächsten Klick (auf ein Schlagwort) überleben und der Benutzer müsste jedes Mal das div neu aufklappen. Semi-Optimal...

    Danke und schöne Grüße,
    Drongo

  • wenn der Zustand bleiben soll, musst mit Cookies arbeiten

    dazu mal diese jquery.cookie.js einbinden

    der Code für den head-Bereich müsste dann so etwa aussehen

    Voraussetzung ist, das jQuery bereits in dein Theme eingebunden wurde oder durch Plugins aktiv

    nur wenn jQuery nicht vorhanden, diese jquery-1.8.3.js noch einbinden

    ein Link zur Seite ist auch immer sinnvoll, erspart das vermuten, raten, wenn und aber, eventuell, vielleicht usw.

    Einmal editiert, zuletzt von Tutrix (18. Juni 2013 um 17:23)

  • Naja, momentan funktioniert ja noch nicht mal das auf- und zuklappen. Das mit den Cookies ist aber ein guter Hinweis, falls ich das Zuklappen zum Laufen bekommen sollte. http://www.gocart-online.com ist die Seite. Da ist aber nix von meinen Tests zu sehen, hab ich wieder rausgenommen, da es nicht ging.

  • Zitat

    Naja, momentan funktioniert ja noch nicht mal das auf- und zuklappen.

    deshalb hab ich ja, den dafür notwendigen Code oben eingefügt


    und nun angepasst für deine Tagcloud müsste der Code dann so aussehen

    also das ist die Klappfunktion mit Cookie

    Einmal editiert, zuletzt von Tutrix (18. Juni 2013 um 17:47)

  • Achso, besten Dank. Aber soll ich das einfach in den Header packen? Was macht der Code dann? Habe ich jetzt mal gemacht, das hat nichts gebracht.
    jQuery 1.8.3 scheint geladen zu sein, laut Quelltext.

  • Was macht der Code dann?


    dein Widget ein und ausklappen....das willst du zumindest im ersten Beitrag oder hab ich da was falsch verstanden!?

    Habe ich jetzt mal gemacht, das hat nichts gebracht.

    meinen Beitrag hast du gelesen und verstanden?

    die oben verlinkte cookie.js ist nicht eingebunden

  • okay, stimmt. habe die Datei hochgeladen und im Header eingesetzt:

  • füge die jquery-1.8.3.js mal mit ein

    Code
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.js"></script>

    dann geht es

    und wenn es passt die beiden .js Dateien auf deinen Server laden, statt extern einbinden

    ach ja und verwende im Code statt

    Code
    .widget-title
    Code
    #widgets-reloaded-tags-6

    sonst kappt es immer ein, egal auf welchen Widget-Titel du klickst

    Einmal editiert, zuletzt von Tutrix (18. Juni 2013 um 19:00)

  • okay, beide js liegen auf dem Server und sind eingebunden:

  • So, jetzt ist sie da. Hab die ausversehen in ein anderes Wordpress geladen :oops:.
    Und ich habe die Zeilen in den Header des Themes eingeschrieben. Das sollte es doch sein, oder? Das Theme hat da extra ein Feld für. Der Code wird ja auch im Quelltext angezeigt.

  • die Dateien sind immer noch unter wp-include und werden zum Download angeboten, statt ausgeführt

    was hindert dich daran sie im Theme einzubinden?

    bevor du jetzt weiter machst, binde sie mal so ein

    Code
    <script src="https://raw.github.com/carhartl/jquery-cookie/master/jquery.cookie.js" type="text/javascript">
    <script src="http://code.jquery.com/jquery-1.8.3.js" type="text/javascript">

    und nichts daran verändern

  • Okay, hab deine Zeilen eingetragen.
    Ich dachte das wäre jetzt im Theme. Du meinst vermutlich die Dateien des Themes selber. Aber in welche? In der index.php? Da stehen nur php-Befehle. Kann ich das einfach dazwischen/davor/darunter schreiben?

  • nochmal du bindest die Dateien unter wp-includes/js/jquery/jquery.cookie.js ein und zwar immer noch

    auch mein extra Code oben wird nicht verwendet,

    hab ja extra noch

    Zitat

    nichts daran verändern


    hinzu geschrieben, was dich scheinbar gar nicht interessiert

    die Dateien gehören in dein Theme, nicht in die Wordpress-Stamm-Dateien, aber ich wiederhole mich

    falls du nicht weißt wo dem Theme ist

    wp-content/themes/atahualpa364

    und dort in den js Ordner

    also

    wp-content/themes/atahualpa364/js/

    aber bitte verwende einfach mal den Code wie oben geschrieben

    also

    Code
    <script src="https://raw.github.com/carhartl/jquery-cookie/master/jquery.cookie.js" type="text/javascript">
    <script src="http://code.jquery.com/jquery-1.8.3.js" type="text/javascript">

    und das gehört in die header.php deines Themes oder eben über Optionen deines Themes eingefügt

    [COLOR=#FF0000]und zwar genau so NIX daran verändern[/COLOR]

    Einmal editiert, zuletzt von Tutrix (18. Juni 2013 um 20:20)

  • Gut, das mit dem include/content hatte ich falsch. Jetzt liegen die Dateien im themes-Ordner. Aber dein Code hatte ich korrekt eingesetzt, tauchen auch in Zeile 42/43 der Startseite auf. Zusätzlich habe ich die beiden Zeilen in die header.php eingetragen. Sind dann oben im Code zu finden. Beides genau wie du geschrieben hast.

  • Ja genau. Ich hatte deinen Code jetzt in der header.php selbst eingefügt sowie über die Option im Theme, was das gleiche Resultat brachte. Dann war daneben noch der Code der zu meinen .js-Dateien verlinkte. So, nun hab ich den Code in der header.php und testweise nur deinen Code über die Theme-Option drin gehabt und testweise (so ist es aktuell) mein Verlinkung in der Theme-Option stehen. Leider sieht es immernoch nicht so aus wie in deiner Animation. Wie hast du die gemacht? Mit einem Webmaster-Tool was im Code verändert und dann aufgenommen?
    Mmmh......

  • deine Seite heruntergeladen
    Scripte korrekt eingebunden
    mit Camtasia aufgezeichnet

    hast ne PN mit den Dateien

    einfach die html in der zip öffnen und du siehst das es geht

    Einmal editiert, zuletzt von Tutrix (18. Juni 2013 um 21:19)

Jetzt mitmachen!

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