Come può un Widget comportarsi diversamente a seconda della sidebar

24 nov 2011, 16:24:40
Visualizzazioni: 241
Voti: 2

Se posizionato su sidebar-1, ho bisogno che il mio widget si comporti diversamente rispetto a quando è su sidebar-2. Come posso rilevare la sidebar in cui si trova dalla funzione widget()?

Il widget contiene una lista di link ai post. A seconda della sidebar, dovrebbe utilizzare una diversa dimensione personalizzata per le miniature.

Quindi ciò che cambierà è il nome di riferimento della dimensione della miniatura. Ad esempio, in una sidebar verrà usato "xs-square-thumb", in un'altra verrà usato "L-square-thumb".

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

0
Tutte le risposte alla domanda 2
0

Puoi verificare la variabile 'id' che viene passata nella variabile $args nella funzione widget(), ti fornirà l'id dell'area widgetizzata in cui si trova attualmente.

es:

public function widget($args, $instance) {
  if( $args['id'] == 'sidebar-1' ) {
    //fai cose per la sidebar
  } else {
    //comportamento predefinito
  }
}
18 lug 2012 22:26:45
1

non esiste un modo pulito per gestire questo aspetto, poiché non c'è una condizione per verificare quale sidebar è in uso, ma solo se esiste o meno. tuttavia, potresti fare quanto segue:

  1. creare due versioni diverse del widget (il che lo renderebbe "a prova di futuro" riguardo ai nomi dei widget che potrebbero esistere).

  2. aggiungere una casella di controllo alle opzioni del widget per scegliere quale dimensione dell'immagine utilizzare.

24 nov 2011 20:48:58
Commenti

La risposta di GSto è quella corretta.

dwenaus dwenaus
30 mar 2013 04:03:47