Benutzerdefiniertes Titel-Widget / HTML-Codierung

Ich bin nicht die erste Person, die sich um WordPress gekämpft hat und HTML von Widget-Titeln entfernt hat. Es gibt eine Reihe von benutzerdefinierten Widgets, mit denen Sie z. B. Links zu Titeln hinzufügen können, aber ich wollte speziell die Br & Span-Tags hinzufügen.

Ich bin auf dieses Tutorial gestoßen : http://ponderwell.net/2011/05/how-to-use-html-in-wordpresses-widgets-title/ welches erklärt, wie man eine benutzerdefinierte Widget-Datei basierend auf dem nativen WP-Standard erstellt -widgets.php.

Das bringt mich fast dahin, aber sowohl wenn ich seine Methode direkt benutze, als auch, um ein existierendes Widget (Enhanced Text Widget) anzupassen, erhalte ich eine Ausgabe von und anstelle der korrekten HTML-Codierung. Ich habe gesehen, dass jemand in den Kommentaren html_entity_decode () erwähnt und ein paar Dinge versucht hat, aber ehrlich gesagt, ich kenne PHP nicht gut genug, um es zum Laufen zu bringen.

Wenn ich dies in functions.php plus einer custom_widgets.php-Datei tun muss, werde ich das machen, aber aus Gründen der Portabilität würde ich es vorziehen, die Aufgabe als Widget-Plugin zu erledigen.

Was benötige ich speziell, um diese Tags korrekt zu kodieren, jetzt wo ich soweit gekommen bin? Ich fand die von Chris angebotene Lösung hier: Ungefilterte HTML im Widget-Titel funktioniert nicht , aber ich setze den Code offenbar nicht an den richtigen Ort. (Ich habe Amy’s eigene Lösung gefunden, um in der functions.php zu arbeiten, aber ich bin mir nicht sicher, ob das ein guter Weg ist, dies zu tun ….)

TIA.

Solutions Collecting From Web of "Benutzerdefiniertes Titel-Widget / HTML-Codierung"

Wie Sie wissen, funktionieren HTML-Tags nicht für den Widget-Titel. Aber es gibt Arbeit um es zu benutzen. Der beste Ansatz, den ich kenne, ist die Verwendung von Shortcodes im Titel. Also, für br and span, ist das folgende eine Lösung –

add_filter('widget_title', 'do_shortcode'); add_shortcode('br', 'wpse_shortcode_br'); function wpse_shortcode_br( $attr ){ return '
'; } add_shortcode('span', 'wpse_shortcode_span'); function wpse_shortcode_span( $attr, $content ){ return ''. $content . ''; } add_shortcode('anchor', 'wpse_shortcode_anchor'); function wpse_shortcode_anchor( $attr, $content ){ return ''. $content . ''; }

Sie können diese Zeilen einfach in Ihre functions.php Datei einfügen.

Verwendung:

Genauso wie die Verwendung von Shortcodes für Post-Inhalte, verwende sie für den Widget-Titel.
[br]
[span]something[/span]
[anchor url="http://domain.com/"]something[/anchor]

Ein Problem

Die meisten Widgets verwenden einen Filter für den widget_title , aber einige benutzerdefinierte Widgets werden diesen Hook möglicherweise nicht anwenden oder verwenden. Also, auf diesen Widgets wird diese Methode nicht funktionieren, und ich denke, andere Methode würde nicht.