Come specificare la "Barra laterale principale" per un tema

12 ott 2012, 19:36:48
Visualizzazioni: 78
Voti: 1

Quando installo e attivo il mio tema, tutti i widget predefiniti della barra laterale vengono posizionati nella prima area widget che appare nella parte superiore della raccolta widget del mio tema.

Tuttavia, poiché quell'area widget è un'intestazione, questi elementi distorcono la visualizzazione predefinita del mio tema quando viene attivato per la prima volta (l'area dell'intestazione si allunga troppo per accogliere tutti quei widget).

Credo che ciò accada perché il widget dell'intestazione è il primo sidebar che registro in functions.php

Esiste un modo, oltre a riorganizzare l'ordine dei miei widget della barra laterale, per specificare in quale barra laterale devono essere assegnati i widget predefiniti?

Capisco che posso riorganizzare l'ordine in cui registro le barre laterali e i widget predefiniti verranno posizionati nel primo. Tuttavia, nel mio caso, voglio che la mia barra laterale "intestazione" appaia per prima in modo che rifletta accuratamente l'ordine dall'alto verso il basso delle aree widget effettive. Ma non voglio che i widget predefiniti vengano posizionati nella barra laterale "intestazione". Voglio che vengano posizionati nella barra laterale "Sidebar" (la seconda registrata come puoi vedere dal codice seguente)

/* BARRE LATERALI
*******************************/

register_sidebar(array(
    'name' => 'Header',
    'id' => 'home-header-widget',
    'before_widget' => '<div class="featured-home %2$s">',
    'after_widget' => '</div>',
    'before_title' => '<span class="featured-title">',
    'after_title' => '</span>',
));

register_sidebar(array(
    'name' => 'Sidebar',
    'id' => 'home-sidebar-widget',
    'before_widget' => '<div class="menu side %2$s">',
    'after_widget' => '</div>',
    'before_title' => '<h4 class="sidebarTitle">',
    'after_title' => '</h4>',
));
2
Commenti

Quale tema stai utilizzando?

Androliyah Androliyah
12 ott 2012 20:35:33

Sto utilizzando uno personalizzato. Ho aggiornato il post con i frammenti di codice rilevanti.

Scott B Scott B
12 ott 2012 23:43:35
Tutte le risposte alla domanda 1
3

Riordina le chiamate register_sidebar() nel tuo codice in modo che quella che vuoi sia prima venga registrata per prima.

14 ott 2012 00:35:47
Commenti

L'unico problema che ho è che vorrei che le sidebar appaiano dall'alto verso il basso nell'area widget in base a come appaiono nel tema. Quindi "header" è posizionato più in alto di "sidebar".

Scott B Scott B
14 ott 2012 20:11:18

@Scott B per favore specifica meglio nella tua domanda che vorresti preservare l'ordine delle sidebar nell'admin, ma modificare il comportamento dei widget in quel modo.

Rarst Rarst
14 ott 2012 20:15:42

Grazie Rarst. Ho aggiornato la domanda con maggiori dettagli.

Scott B Scott B
15 ott 2012 01:58:38