Cum se poate comporta un Widget diferit în funcție de sidebar

24 nov. 2011, 16:24:40
Vizualizări: 241
Voturi: 2

Dacă widget-ul este plasat în sidebar-1, am nevoie ca acesta să se comporte diferit față de când este în sidebar-2. Cum pot detecta sidebar-ul în care se află din interiorul funcției widget()?

Widget-ul conține o listă de link-uri către postări. În funcție de sidebar, acesta ar trebui să utilizeze o dimensiune diferită a thumbnail-ului.

Deci, ceea ce se va schimba este numele de referință al dimensiunii thumbnail-ului. De exemplu, într-un sidebar se va folosi "xs-square-thumb", iar în altul "L-square-thumb".

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

0
Toate răspunsurile la întrebare 2
0

Poți verifica variabila 'id' care este transmisă în variabila $args din funcția widget(), aceasta îți va oferi ID-ul zonei widgetizate în care se află în prezent.

ex:

public function widget($args, $instance) {
  if( $args['id'] == 'sidebar-1' ) {
    //fă ceva specific pentru bara laterală
  } else {
    //comportament implicit
  }
}
18 iul. 2012 22:26:45
1

nu există o modalitate curată de a gestiona acest lucru, deoarece nu există o condiție pentru a verifica care bară laterală este în uz, ci doar dacă există sau nu. totuși, ai putea face următoarele:

  1. creează două versiuni diferite ale widget-ului (ceea ce l-ar face "rezistent la viitor" în ceea ce privește ce nume de widget-uri ar putea exista).

  2. adaugă o casetă de bifat în opțiunile widget-ului pentru a alege ce dimensiune de imagine să folosești.

24 nov. 2011 20:48:58
Comentarii

Răspunsul lui GSto este cel corect.

dwenaus dwenaus
30 mar. 2013 04:03:47