¿Cómo podría un Widget comportarse de manera diferente dependiendo de la barra lateral?

2

si estoy sentado en la barra lateral-1, necesito que mi widget se comporte de manera diferente a como lo estaba en la barra lateral-2. ¿Cómo puedo detectar la barra lateral en la que se encuentra dentro de la función widget ()?

El widget contiene una lista de enlaces a publicaciones. Dependiendo de la barra lateral, debe usar una versión de tamaño de imagen personalizada diferente de su miniatura.

Entonces, lo que cambiará es el nombre de referencia del tamaño de la miniatura. Por ejemplo, en una barra lateral, se utilizará "xs-square-thumb"; en otro "L-square-thumb" se utilizará.

Ej: get_the_post_thumbnail($post->ID,'xs-square-thumb');

    
pregunta pixeline 24.11.2011 - 15:24

2 respuestas

1

no hay una forma limpia de manejar esto, ya que no hay un condicional para verificar qué barra lateral está en uso, solo si existe o no. sin embargo, puedes hacer lo siguiente:

  1. cree dos versiones diferentes del widget (lo que lo convertiría en una "prueba de futuro" en lo que respecta a los nombres de los widgets).

  2. agregue una casilla de verificación a las opciones del widget para elegir qué imagen de tamaño usar.

respondido por el Norcross 24.11.2011 - 19:48
3

Puede verificar la variable 'id' que se pasa en la variable $args en la función widget (), le dará el id del área ampliada en la que se encuentra actualmente.

ej:

public function widget($args, $instance) {
  if( $args['id'] == 'sidebar-1' ) {
    //do sidebar stuff
  } else {
    //default behavior
  }
}
    
respondido por el GSto 18.07.2012 - 21:26

Lea otras preguntas en las etiquetas