Widget_title-Filter nur auf WordPress-Widgets aus einer bestimmten Seitenleiste anwenden?
Lesezeit: 1 Minute
Vitalie
Ich muss den Widget-Titelfilter nur auf die Widgets einer bestimmten Seitenleiste anwenden. Wenn das Widget aus “Fußzeile” stammt, möchte ich Folgendes anwenden:
function widget_title_empty($output="") {
if ($output == '') {
return ' ';
}
return $output;
}
add_filter('widget_title', 'widget_title_empty');
dazu.
Vielen Dank.
Da Sie einen hartcodierten Seitenleistennamen verwenden möchten, nehme ich an, dass Sie vielleicht ein Design erstellen und die Kontrolle über den Code haben, der die Seitenleiste druckt? In diesem Fall könnten Sie den Filter zuerst hinzufügen und dann wie folgt wieder entfernen:
Auf diese Weise werden die umgebenden Seitenleisten nicht beeinflusst.
Wenn Sie nur den Widget-Titel entfernen möchten, können Sie dies tun, ohne eine benutzerdefinierte Funktion zu erstellen, indem Sie übergeben "__return_false" als Argument für den Filter:
Ich mag Calles Antwort besser, aber das funktioniert, wenn Sie diese Bedingungen nicht haben:
class Example {
protected $lastWidget = false;
public function __construct() {
add_filter('dynamic_sidebar_params', array($this, 'filterSidebarParams'));
}
/**
* record what sidebar widget is being processed
* @param array $widgetParams
* @return array
*/
public function filterSidebarParams($widgetParams) {
$this->lastWidget = $widgetParams;
return $widgetParams;
}
/**
* check to see if last widget recorded was in sidebar
* @param string $sidebarName
* @return bool
*/
public function isLastSidebar($sidebarName) {
return $this->lastWidget && $this->lastWidget[0]['id'] == $sidebarName;
}
}
$example = new Example();
// in your widget's code
if ($example->isLastSidebar('footer-widget-area')) {
// you're in
}
14355500cookie-checkWidget_title-Filter nur auf WordPress-Widgets aus einer bestimmten Seitenleiste anwenden?yes