web-dev-qa-db-fra.com

Wordpress: Appliquer un filtre/accrocher à un widget de la barre latérale particulière?

Je développe un thème qui a plus de 5 barres latérales différentes et je souhaite appliquer une fonction à l'une d'elles à des fins de style. Fondamentalement, la fonction modifiera ses paramètres en utilisant un compteur pour afficher des valeurs aléatoires entre chacun des widgets. Je suis venu avec ça:

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

Mais cependant, il fonctionnera pour chaque barre latérale différente. Y at-il un moyen de le faire fonctionner uniquement sur une barre latérale particulière? Ou bien, y a-t-il un moyen d'obtenir l'identifiant de la barre latérale du widget actuel dans cette fonction?

J'espère que tout cela a du sens.

Merci d'avance!

1
ZK_

Si vous deviez ajouter var_dump($params); en haut de votre rappel, vous remarquerez qu'il contient des références au nom et à l'ID de la barre latérale. Vous pouvez les utiliser pour contrôler le moment où cela s'exécute, à condition de connaître le nom ou l'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