• Gelöst youngtimer

    (@youngtimer)


    Auf einer alten, bald zu erneuernden Site fand ich ein Plugin namens „HTML Widget Text“ (von Jaimyn Mayer), welches es ermöglicht, die Titel der Widgets mit HTML zu versehen.
    Doch dieses ist nicht mehr im Verzeichnis, selbst auf der Site des Autors findet sich kein Hinweis mehr dazu.

    Die Frage ist: Gibt es Ersatz für? Egal ob Plugin oder ein Script für die functions.php: Es soll eben HTML in den Titeln aller (auf klassischer Basis) eingesetzten Widgets ermöglichen. Eigentlich reicht es, wenn man Verweise unterbringen könnte.

    Das bisher verwendete Plugin scheint dies in einer Art Shortcode zu machen. Denn sobald man „HTML Widget Text“ aktiviert, kann man spitze HTML Klammern mit eckigen ersetzen und etwa anklickbare Titel erzeugen.

    Ein Beispiel, welches ich im Titel eines normalen Text-Widgets fand, ist:
    [a href=category/ausflugsziele/]Alle Ausflugsziele[/a]
    Genau das soll wieder erreicht werden, aber eben mit einem Plugin oder Script, das nicht durch unbekanntes Alter und Risiko auffällt …

    Also falls wer was weiß – bitte – danke!

Ansicht von 7 Antworten – 1 bis 7 (von insgesamt 7)
  • Hier ist ein Shortcode, der die Eingabe von z.B. [link href="https://example.com/category/urlaub"]Urlaub[/link] in eine verlinkte Widget-Überschrift verwandelt: <h2 class="wp-block-heading"><a href="https://example.com/category/urlaub">Urlaub</a></h2>


    function link_shortcode( $atts , $content = null ) {

    // Attributes
    $atts = shortcode_atts(
    array(
    'href' => 'https://example.com/category/ausflugsziele',
    ),
    $atts
    );
    return '<h2 class="wp-block-heading"><a href="' . esc_url( $atts['href'] ) . '">' . $content . '</a></h2>';

    }
    add_shortcode( 'link', 'link_shortcode' );

    Im Widget-Block-Editor gibst du statt einer Überschrift einen Shortcode ein:

    Screenshot

    Den Code kannst du entweder in der functions.php eines Child-Themes, einem eigenen Plugin oder mit dem Plugin Code Snippets einbinden.

    @bscu Deine Google-Suche greift hier zu kurz. Der Code in den von dir verlinkten Webseiten funktioniert in dieser Form beim Widget-Block-Editor nicht.

    Thread-Starter youngtimer

    (@youngtimer)

    Danke erstmal, ich teste das dann abends durch.

    Also wäre es theoretisch mit einer normalen Shortcode Funktion möglich bzw. mit Replace.
    Shortcodes baue ich mir eh manchmal selber so auf die Art, war aber unsicher, ob das auch mit, in den Widget-Titel klappt.

    Der Code in den von dir verlinkten Webseiten funktioniert in dieser Form beim Widget-Block-Editor nicht.

    Auf der Site soll der Classic-Editor laufen, daher
    „Es soll eben HTML in den Titeln aller (auf klassischer Basis) eingesetzten Widgets ermöglichen.“

    Wie gesagt, ich teste beides noch heute – Danke erstmal

    Auf der Site soll der Classic-Editor laufen, …

    Das ist eine Information, die wir vorher nicht hatten. Meine Antwort bezog sich auf die Verwendung des Block-Editors.

    Bei Verwendung des Plugins Classic Widgets kannst du bei den Widgets auch „Individuelles HTML“ einfügen, sinngemäß sowas wie

    <h2 class="wp-block-heading"><a href="https://example.com">Beispiel</a></h2>
    Thread-Starter youngtimer

    (@youngtimer)

    @bscu:
    das mit str_replace(...) geht überall, perfekt und easy. Aber ja, Widget-Titel nur im Classic-Modus. (Oder, wenn man ein klassisches Widget noch nicht in einen Block umgewandelt hat)
    Danke!

    @pixolin:
    Ja, function link_shortcode(...) geht so nur im Blockedit. Und das wahrscheinlich nur, weil man damit ja eigentlich einen Block „Überschrift“ und keinen Widget-Titel im klassischen Sinn beschickt. Oder vielleicht eben einen „HTML“ Block.

    Doch gibt es im Blockmodus eigentlich Widget-Titel im klassischen Sinne (also wie, wenn der Classic-Editor auch die Widgets verwalten darf)? Fand bei meinem allerersten Ausflug in diesen Modus nichts dergleichen.

    <h2 class=“wp-block-heading“>Beispiel</h2>

    , klar, doch das Textfeld eines „HTML“ Widget ist kein Widget-Titel.

    Warum unbedingt HTML im Titel?
    Weil die in etlichen klassischen Themes vielfältig zu stylen gehen – per Customizer, ohne CSS Eingriff und meist schon gut zum übrigen Layout passend usw. Und weil die schon da sind, genau passend oberhalb des Widgetinhalts positioniert, usw.
    Komfortabler als über jedes Widget noch eine Überschrift oder noch einen Block dazu basteln. Meine persönliche Meinung halt.

Ansicht von 7 Antworten – 1 bis 7 (von insgesamt 7)