WordPress: Titel des Seitenleisten-Widgets dynamisch ändern

Lesezeit: 2 Minuten

Ist es möglich, den Titel der Widgets abzurufen, die ich in meiner Seitenleiste aktiviert habe, damit ich diesen als Namen für mein Klassenattribut einfügen kann?

Zum Beispiel:
'before_title' => <h2 class="title of the widget">',

Wenn ich das Element inspiziere, möchte ich Folgendes sehen:
<h2 class="author"> und <h2 class="links"> etc…

Danke

Es ist definitiv möglich, aber wenn Sie es dynamisch tun möchten, müssen Sie einen Filter verwenden.

Die dynamic_sidebar_params Filter sollte für Sie funktionieren. Wenn Sie mit der Funktionsweise von Filtern nicht vertraut sind, können Sie mit einem Filter Inhalte bearbeiten, bevor sie auf dem Bildschirm angezeigt oder in der Datenbank gespeichert werden. Sehen Sie hier mehr: http://codex.wordpress.org/Plugin_API/Filter_Reference

In dem dynamic_sidebar_params filter, das übergebene Array hat die folgende Struktur (ich habe dies durch einen print_r erhalten)

Array
(
    [0] => Array
        (
            [name] => Primary Widget Area
            [id] => primary-widget-area
            WordPress : Change title of sidebar widget dynamically => The primary widget area
            [before_widget] => <li id="search-2" class="widget-container widget_search">
            [after_widget] => </li>
            [before_title] => <h3 class="widget-title">
            [after_title] => </h3>
            [widget_id] => search-2
            [widget_name] => Search
        )

    [1] => Array
        (
            [number] => 2
        )

)

Das heißt, Sie müssen nur die bearbeiten $params Array, bevor Sie es zurückgeben. Möglicherweise müssen Sie auch eine bedingte Logik anwenden, um genau die gewünschte Klasse zu erhalten, aber das überlasse ich Ihnen.

Hier ist ein Beispiel:

function my_edit_widget_func($params) {
    $params[0]['before_title'] = '<h3 class="' . $params[0]['widget_name'] . '">' ;
    return $params;
}
add_filter('dynamic_sidebar_params', 'my_edit_widget_func');

  • Dies ist perfekt. Ich werde das gleich ausprobieren und berichten, wie es gelaufen ist!

    – tollwütiger_zombie

    24. Mai 2011 um 16:09 Uhr

  • Ich habe diese Funktion in ‚functions.php‘ zusammen mit dem add_filter-Aufruf hinzugefügt. Ist das der richtige Platz dafür? Ich bin relativ neu in WordPress, daher ist dies ein wenig verwirrend für mich.

    – tollwütiger_zombie

    24. Mai 2011 um 16:20 Uhr

914590cookie-checkWordPress: Titel des Seitenleisten-Widgets dynamisch ändern

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy