it-swarm.com.de

Wordpress: Filter/Hook auf bestimmte Sidebar-Widgets anwenden?

Ich entwickle ein Thema mit mehr als 5 verschiedenen Seitenleisten und möchte eine Funktion für Stylingzwecke auf eine bestimmte anwenden. Grundsätzlich ändert die Funktion ihre Parameter mithilfe eines Zählers, um Zufallszahlen zwischen den einzelnen Widgets anzuzeigen. Das habe ich mir ausgedacht:

function widget_params( $params ) { 
    // ...
}
add_filter( 'dynamic_sidebar_params', 'widget_params' );

Es wird jedoch für jede einzelne Seitenleiste ausgeführt. Gibt es eine Möglichkeit, es nur in einer bestimmten Seitenleiste zum Laufen zu bringen? Oder gibt es eine Möglichkeit, die Sidebar-ID des aktuellen Widgets innerhalb dieser Funktion abzurufen?

Hoffe, das alles macht Sinn.

Danke im Voraus!

1
ZK_

Wenn Sie var_dump($params); am Anfang Ihres Rückrufs hinzufügen, werden Sie feststellen, dass es Verweise sowohl auf den Namen der Seitenleiste als auch auf die ID der Seitenleiste enthält. Sie können diese verwenden, um zu steuern, wann dies ausgeführt wird, vorausgesetzt, Sie kennen den Namen oder die ID.

function widget_params( $params ) { 
  if ('Main Sidebar' === $params[0]['name']) {
    // do something
  }
  return $params;
}
add_filter( 'dynamic_sidebar_params', 'widget_params' );
5
s_ha_dum