Eigene Shortcodes in Widgets verwenden

  • Hallo,

    ich habe mir in meiner custom.php eine Funktion geschrieben. Wie kann ich mir mit Hilfe der "Widgets" das Ergebnis der Funktion ausgeben lassen? Dort den Funktionsaufruf oder ein Shortcode reinpacken gibt das ja als Text aus und ruft nicht die Funktion auf. Kann mir hier jemand weiterhelfen? Am liebsten hätte ich es, wenn ich im Bereich Widgets einen Shortcode einfügen kann a la [show-date], Wordpress dann auf die Funktion zugreift und mir das Ergebins ausgibt. Geht das überhaupt?

    • 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

  • Du kannst Shortcodes in z.B. dem TextWidget von Wordpress erlauben. Gehe dafür in das Dashboard -> Design -> Editor und rufe die functions.php Deines Themes auf.

    Dort setze am besten ganz oben unter die Kommentare folgendes ein, achte aber darauf, dass dieser Aufruf zwischen den <?php und ?> Tags liegt

    Code
    add_filter(‘widget_text’, ‘do_shortcode’);

    schaue Dir auch folgenden Link an, bevor Du Änderungen am original Theme machst

    http://codex.wordpress.org/Child_Themes

  • Hi AmFearLiath,

    danke für deine Antwort. Das hatte ich bereits gemacht. Mal am Beispiel von dem Plugin Canvas Shortcodes: Füge ich einen Countdown in die Sidebar ein funktioniert es. Füge ich einen Toggle Bar ein, funktioniert es nicht.

    Shortcode funktioniert in Sidebar:
    [COLOR=#333333][FONT=Georgia][wc_countdown date="July 23, 2015, 6:00:00 PM" format="wdHMs" message="Your Message Here!" labels="Years,Months,Weeks,Days,Hours,Minutes,Seconds" labels1="Year,Month,Week,Day,Hour,Minute,Second"]

    [/FONT][/COLOR]Shortcode funktioniert nicht in Sidebar:
    [COLOR=#333333][FONT=Georgia][wc_accordion collapse="0" leaveopen="0" layout="box"][/FONT][/COLOR]
    [COLOR=#333333][FONT=Georgia][wc_accordion_section title="Section 1"][/FONT][/COLOR]
    [COLOR=#333333][FONT=Georgia]Sample Content[/FONT][/COLOR]
    [COLOR=#333333][FONT=Georgia][/wc_accordion_section][/FONT][/COLOR]
    [COLOR=#333333][FONT=Georgia][wc_accordion_section title="Section 2"][/FONT][/COLOR]
    [COLOR=#333333][FONT=Georgia]Sample Content[/FONT][/COLOR]
    [COLOR=#333333][FONT=Georgia][/wc_accordion_section][/FONT][/COLOR]
    [COLOR=#333333][FONT=Georgia][/wc_accordion][/FONT][/COLOR]

  • hmm, kann natürlich an der accordion Funktion liegen, die du selbst geschrieben hast. Oder es fehlt ein js oder jquery etc.

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Das ist ein Beispiel für das Plugin Canvas Shortcodes. Beide Shortcodes stammen von dem Plugin und funktionieren jeweils im Content-Bereich meiner Seite. Ersteres funktioniert als Shortcode im Sidebar-Widget. Das Accordion leider nicht. Wenn es im Content-Bereich funktioniert, würde das ja bedeuten, dass jQuery für die jeweilige Seite korrekt geladen wird oder ist es möglich, dass die Widgets der Sidebar nicht auf das eingebundene jQuery zugreifen können? Eher nicht, oder?

  • ich habe mir in meiner custom.php eine Funktion geschrieben.

    Hatte ich wohl falsch verstanden :twisted:
    Sorry, kenne das Plugin nicht.

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Hatte ich wohl falsch verstanden :twisted:
    Sorry, kenne das Plugin nicht.

    Stimmt, das hatte ich so geschrieben 8-) Mein eigener Shortcode funktioniert. Nur eben leider nicht, wenn ich solche "Shortcode-Kombinationen", wie im Beispiel des Plugins "Canvas Shortcodes", einsetze, um zum Beipsiel ein Toggle in die Sidebar zu bringen.

  • Schreib mal den Plugin-Autor an, aber sieht schlecht aus: https://wordpress.org/support/topic/…king-in-widgets

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

Jetzt mitmachen!

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