barra laterale wordpress. Barre laterali di WordPress, creazione di barre laterali di WordPress. Widget predefiniti di WordPress

Visualizza il primo pannello widget attivo (una barra laterale è un pannello che contiene almeno un widget). Puoi specificare l'ID o il numero del pannello, quale visualizzare, se il sito ha più di un pannello widget.

dynamic_sidebar() restituisce true o false, con il risultato restituito che mostra anche la barra dei widget. Il valore restituito può essere utilizzato, ad esempio, per determinare se il codice che sostituisce i widget deve essere elaborato quando non ci sono widget nel pannello (vedere l'esempio n. 1).

ritorna

true se il pannello del widget è stato trovato. false se il pannello non esiste o non contiene widget.

Utilizzo

$indice (stringa/numero) L'ID del pannello specificato nel parametro id della funzione register_sidebar() quando il pannello è stato registrato. Se viene fornito un numero, verrà cercato il pannello con ID sidebar-$index.
Predefinito: 1 (barra laterale-1)

Esempi

#1 Visualizza la barra laterale se esiste.

Questo esempio mostra come visualizzare la prima barra laterale non vuota (l'id della barra laterale non è stato specificato durante la registrazione) o se non viene trovato, elaborare il codice specificato:

#2 Visualizza la barra laterale desiderata.

#3 Verificare la presenza del pannello e visualizzarlo

Nell'esempio 2, non abbiamo verificato la presenza di un pannello e di widget al suo interno. In questo esempio verificheremo la presenza di un pannello in modo da non visualizzare inutili Tag HTML (

",

[ pastello - 5e1ff7d787fb8042608178 inline = "true" ] "after_widget" => "" ,

prima_titolo

La maggior parte dei widget visualizza un titolo se l'utente lo inserisce. Discussione prima_titolo questo è l'elemento di apertura del titolo del widget. Per impostazione predefinita, WordPress lo scrive come < h2 > . Per utilizzare i tag < h2 > non ne vale la pena, in questo caso i tag andranno bene < h3 > E < h4 > . Per intuitività e leggibilità del codice, non creare nomi di classi senza trattini, in modo che sia più conveniente per te leggere tu stesso il nome, è molto importante se non lavori con il sito da tempo.

dopo_titolo

Discussione dopo_titolo questo è l'elemento di chiusura specificato nell'argomento prima_titolo. Per impostazione predefinita, WordPress lo scrive come < / h2 > .

Devi assicurarti che il suo valore corrisponda al valore specificato nell'argomento prima_titolo.

"dopo_titolo" => ""

"dopo_titolo" => ""

Visualizzazione di una barra laterale dinamica dynamic_sidebar()

Quando la creazione della barra laterale è completata, puoi iniziare a visualizzarla all'interno del tema. WordPress ha creato una funzione per questo chiamata < a title = "Funzione Codex Wordpress dynamic_sidebar()" href= "http://codex.wordpress.org/Function_Reference/dynamic_sidebar" target="_blank" > dynamic_sidebar()< / a > . Questa funzione richiede sempre un parametro $indice, che possono trovarsi contemporaneamente sia nell'argomento id, e nell'argomentazione nome(specificato durante la creazione della barra laterale). Sebbene sia tecnicamente possibile utilizzarli entrambi, è molto più sicuro utilizzare quello prescritto. id.

Usando il codice qui sotto in uno dei tuoi modelli, puoi posizionare la barra laterale primario descritto appena sopra. notare che div Con classe E id Puoi cambiare a tua discrezione e fregare vari css stili.

// chiama la funzione di visualizzazione della barra del sito

< div id = "id-vidgeta-primary" class = "moi-saidbar" >

// chiama la funzione di visualizzazione della barra del sito

< / div >

Di solito questo codice si trova nel file barra laterale - primaria . php, che imparerai a conoscere tra un momento quando parleremo di modelli di barra laterale. Tuttavia barra laterale_dinamica() può essere chiamato ovunque nel tuo tema.

  • Facciamo e

Visualizzazione predefinita del contenuto

Alcuni sviluppatori di temi visualizzano i propri contenuti se l'utente non ha aggiunto alcun widget a una barra laterale specifica. Per verificare la presenza di widget nella barra laterale, utilizza il tag condizionale is_active_sidebar() .

Proprio come una funzione barra laterale_dinamica(), utilizzato per riempire la barra laterale, la funzione is_active_sidebar() richiede sempre un parametro $indice, che dovrebbe essere ID barra laterale che stai controllando.

Con il codice qui sotto possiamo testare la nostra barra laterale primario per i widget. Se sono presenti widget, li mostreremo noi, in caso contrario, mostreremo il contenuto che abbiamo appositamente preparato.

< div id = "id-vidgeta-primary" class = "moi-saidbar" >

< / div >

Non visualizzare la barra laterale senza widget

La sezione precedente ti ha mostrato come posizionare il contenuto mancante quando una determinata barra laterale non è attiva, ma hai anche la possibilità di comprimere completamente (non visualizzare nulla) una barra laterale quando la barra laterale non è attiva.

Useremo ancora la funzione is_active_sidebar() per controllare la barra laterale primario per i widget.

< div id = "id-vidgeta-primary" class = "moi-saidbar" >

< / div >

A proposito, qui puoi pensare ad alcune cose interessanti. Ad esempio, puoi creare una larghezza della barra laterale dinamica per i tuoi contenuti in base a quali barre laterali sono attive e quali no. Maggiori informazioni su questo nei prossimi articoli.

Modelli barra laterale - Barra laterale

Abbiamo toccato tutti gli aspetti della creazione e del lavoro con una barra laterale dinamica, ma va notato che ci sono altre caratteristiche interessanti. Quindi diamo un'occhiata ai modelli di barra laterale.

Il modello della barra laterale viene utilizzato per ospitare il codice della barra laterale dinamica (vedere "Visualizzazione della barra laterale dinamica" sopra). In media, tutti i temi WordPress hanno un modello chiamato barra laterale. php. Se il tuo tema ha una barra laterale, questo modello è sufficiente.

I modelli della barra laterale vengono riempiti all'interno del tema utilizzando la funzione get_sidebar().Il codice qui sotto è quello che di solito uso per popolare un file barra laterale. php.

[ pastello - 5e1ff7d788042260898923 inline = "vero" ]

get_sidebar() inoltre richiede sempre un parametro $ nome, che ti consentirà di inserire schemi più specifici. Ad esempio, il codice seguente richiede un file modello barra laterale - primaria . php.

[ pastello - 5e1ff7d788051693571425 inline = "vero" ]

Per mantenere in ordine il tuo tema e per separare il codice, devi creare un modello specifico per ogni barra laterale dinamica. Ti suggerisco di creare prima due barre laterali dinamiche con unique id: primario E secondario. Per una migliore organizzazione, crea due file: barra laterale - primaria . php e sidebar-secondario. php.

Avrai bisogno del codice qui sotto per creare entrambi i modelli.

[ pastello - 5e1ff7d788066428860015 inline = "vero" ]

Sopra c'è il codice tradizionale che uso per creare i modelli. Puoi modificarlo leggermente per adattarlo al meglio alle tue esigenze personali. Devi ancora assicurarti di utilizzare la funzione get_sidebar() durante la compilazione del modello della barra laterale.

Tieni presente che i modelli di barra laterale non sempre visualizzano barre laterali dinamiche. Possono tecnicamente contenere contenuti utente codificati in grado di riflettere qualsiasi cosa. Ricorda inoltre che puoi inserire una barra laterale dinamica in quasi tutti i file del tuo modello da visualizzare su diverse pagine del sito.

Codice della barra laterale errato

Ci sono una serie di difetti che si ripetono da codice a codice, che non sono accettabili su buoni siti. Ovviamente non tutti sono tecnicamente errati, ma possono portare a malfunzionamenti o sono semplicemente un carico extra di codice.

Problema 1: codice disordinato scaricato funzioni. php

Se stai sviluppando temi, devi sapere che gli hook integrati di WordPress funzionano con gli hook. È necessario non solo conoscerli bene, è importante usarli. Il problema più grande che ho riscontrato è che il codice viene appena scaricato funzioni. php. Dovresti creare una funzione di registrazione della barra laterale e quindi allegarla a widgets_init. Puoi vedere un esempio di come farlo sopra nella sezione Registra e crea una barra laterale dinamica.

Come nota a margine: dovresti dimenticare che puoi semplicemente scaricare il codice in funzioni. php. Usa sempre la funzione hook in WordPress, questo assicurerà che le tue funzioni siano complete al 100%.

Problema 2: nessun ID registrato

È importante capire che se l'id non è chiaramente enunciato, ciò comporterà sicuramente alcune conseguenze. Quando usi register_sidebar() O register_sidebars() senza prescrizione di un individuo id, WordPress crea automaticamente indicatori id, contando il numero di barre laterali già create. E, sembrerebbe, tutto è meraviglioso. Ma questo è un grosso errore. Dopo tutto, quando un plugin o tema figlio crea una nuova barra laterale, alla barra laterale viene assegnato l'id 1 (se è la prima nello stream), che provoca la modifica dell'id di tutte le altre barre laterali. Quando l'utente accede alla barra laterale, vedrà che tutti i suoi widget sono assegnati a un'altra barra laterale.

I widget sono collegati alla barra laterale dinamica, secondo la sua id. Se id modifiche, anche i widget si spostano. Ecco perché è così importante prescrivere correttamente id durante la creazione della barra laterale. Sopra, nella sezione "Registrazione e creazione di una barra laterale dinamica", puoi vedere come farlo nel modo giusto.

Un altro vantaggio della scrittura chiara idè che sai esattamente cosa id destinato ad essere utilizzato in altre funzioni come barra laterale_dinamica() E is_active_sidebar function_exists() non c'è bisogno. Come accennato in precedenza in questo articolo, le barre laterali dinamiche esistono dal 2007. È possibile utilizzare questo tipo di controllo solo per la compatibilità con le versioni precedenti. Tuttavia, la maggior parte dei temi non è compatibile con le versioni precedenti e non consiglio di utilizzarla dalla versione precedente.

Uno dei tipi comuni di verifica dell'esistenza di una funzione register_sidebar() presentato di seguito. Dimentica questo tipo di controllo e crea solo una barra laterale.

if (function_exists("register_sidebar")) dynamic_sidebar include (TEMPLATEPATH . "/sidebar.php" ) ;

Questo non è il modo migliore per visualizzare una barra laterale in un tema. Il sistema WordPress ha una funzione get_sidebar(), con cui puoi farlo facilmente. Usalo sempre come mostrato nell'esempio sopra nella sezione "Modelli barra laterale". Dovresti usare questa funzione perché il file hook

A volte ci sono temi in cui è presente solo 1 barra laterale e vengono utilizzati per le esigenze del tema stesso e non è possibile inserire nuovi widget lì. Forse devi modificare un modello di tema esistente e aggiungere una barra laterale aggiuntiva, diciamo che il tema ne ha una a sinistra, ma devi aggiungerne un'altra a destra.

Risolvere questo problema non è affatto difficile. È sufficiente apportare piccole modifiche ai file del tema functions.php e al file modello della pagina in cui si desidera posizionare la barra laterale. Come scoprire quale file è responsabile della visualizzazione delle pagine

Per prima cosa devi registrare una nuova barra laterale. Questo viene fatto nel file functions.php nella cartella del modello. register_sidebar(array("name" =>"Nuova barra laterale", "id" => "area-widget-secondaria", "before_widget" => "
  • ", "after_widget" => "
  • ", "before_title" => "

    ", "after_title" => "

    ",));

    Fatto, una nuova barra laterale è apparsa nel pannello di controllo del widget. Resta solo da personalizzare leggermente il suo aspetto nel file style.css (puoi copiare l'aspetto da quello esistente)

    Cosa è cosa nel codice

    Nome– il nome della barra laterale (barra laterale), verrà visualizzato nel pannello di amministrazione Widget.
    id- identificatore univoco. Necessario quando si aggiunge alla pagina.
    before_widget- codice o testo da inserire prima di ogni widget.
    after_widget- codice o testo da inserire dopo ogni widget.
    prima_titolo– codice o testo da inserire prima del titolo del widget.
    dopo_titolo– codice o testo da inserire dopo il titolo del widget.

    Fate attenzione all'ID, il nome della sidebar, in questo caso è "secondary-widget-area". Deve essere esattamente uguale al nome specificato durante la registrazione nel file functions.php.

    La barra laterale è un campo speciale sul sito in cui sono incorporati i widget. In altre parole, è una colonna con contenuto dinamico. Quasi tutti i modelli hanno tali colonne e il loro numero può essere diverso. Spesso utilizzato da 1 a 4 colonne.

    Per rendere qualsiasi template il più unico possibile, o semplicemente migliorarne l'aspetto o distinguersi, puoi cambiare la posizione delle colonne relative al campo di testo principale nei template standard, gratuiti e a pagamento per WordPress, che è quello che faremo in questo articolo.

    Modifica della posizione della barra laterale e del corpo del testo

    Quindi, diciamo che il template che usiamo ha una colonna per i widget, cioè una barra laterale, e una colonna principale dove è posizionato il testo dei nostri articoli e delle nostre pagine:

    Lascia che la colonna con i widget si trovi sulla destra e dobbiamo spostarla a sinistra fino al bordo. Di conseguenza, la colonna con il contenuto del testo principale si sposterà a destra fino al bordo.

    Per fare tutto questo, devi cambiare un po 'gli stili. Il contenuto del testo ha spesso lo stile #content, mentre il contenuto del widget ha spesso lo stile #sidebar. Tutto ciò che serve è cambiare le proprietà del primo da float:left; sul galleggiante: a destra; e in una sequenza diversa per il secondo.

    Cambia la posizione della barra laterale nel tema Twenty Twelwe

    Considera tutto quanto sopra sull'esempio di un tema reattivo standard per WordPress.

    Barra laterale: parte di quasi tutti i siti, solitamente posizionata a sinistra, a destra dell'area del contenuto o davanti al piè di pagina (piè di pagina). Le barre laterali di WordPress non fanno eccezione. L'unica differenza è che in WordPress, una barra laterale è un'area in cui vengono visualizzati automaticamente i widget. Puoi creare un numero illimitato di barre laterali in WordPress, ma ad esempio creerò due barre laterali, a sinistra e a destra dell'area del contenuto principale.

    Registrazione delle barre laterali di WordPress

    Affinché le barre laterali vengano visualizzate prima nel pannello di amministrazione, dobbiamo registrarle. In altre parole, aggiungi il codice al file functions.php:

    /** * Registra le barre laterali. */ function fwbs_widgets_init() ( register_sidebar(array("name" => __("Colonna destra", "fwbs"), "id" => "sidebar-1", "description" => __("Barra laterale destra " , "fwbs"), "before_widget" => "

    ", "before_title" => "

    ", "after_title" => "

    ",)); register_sidebar(array("name" => __("Colonna di sinistra", "fwbs"), "id" => "sidebar-2", "description" => __("Colonna di sinistra nel footer del sito ", "fwbs"), "before_widget" => " ", "before_title" => "

    ", "after_title" => "

    ",)); ) add_action("widgets_init", "fwbs_widgets_init");

    Analizzare il codice sopra per creare barre laterali di WordPress

    Non è così complicato come sembra a prima vista.

    • "name" => __("Right column", "fwbs") - il nome dell'area del widget, puoi scrivere qualsiasi nome, solo con attenzione tra parentesi, guarda lo schermo puoi vedere dove è visualizzato;
    • "id" => "sidebar-1" - ID è un identificatore univoco assegnato alla barra laterale, tutte le barre laterali devono avere il proprio, diverso dagli altri ID;
    • "description" => __("Colonna sul lato destro", "fwbs") - descrizione, simile al nome della zona del widget;
    • "before_widget" => "
    • "after_widget" => "" - il tag HTML che chiude la zona della barra laterale. Come sappiamo, tutti i tag HTML, con alcune eccezioni, devono essere abbinati (apertura e chiusura);
    • "prima_titolo" => "

      " - il titolo del widget sarà racchiuso in un tag H4 con la classe

      , puoi cambiare il significato dell'intestazione H1, H2, H3, H4, H5, H6 e assegnare le tue classi;

    • "dopo_titolo" => ""- chiusuratag pair per il titolo del widget.

    Ora andiamo al pannello di amministrazione, alla sezione "widget" e guardiamo il risultato. Ecco una foto di quello che ho ottenuto:

    Con questo codice ho registrato due zone widget di WordPress, ora devo visualizzarle sullo schermo.

    Visualizzazione delle barre laterali di WordPress

    Per visualizzare le barre laterali ovunque nel modello, è logico scrivere il seguente codice nel posto giusto:

    Alcune spiegazioni sul codice:

    • - Codice PHP che dà un comando, se ci sono widget nella barra laterale sotto id=sidebar-1, allora dovrebbe essere visualizzato sullo schermo, se non ci sono widget, la barra laterale non viene visualizzata;
    • - Codice PHP che chiama la barra laterale sotto id=sidebar-1 nel punto in cui l'hai scritta nel codice del template.

    Ma come puoi vedere, nei modelli WordPress, il codice di output della barra laterale viene inserito in file sidebar.php separati, quindi il contenuto viene emesso dal file sidebar.php nel posto giusto nel modello. Poiché sappiamo che WordPress esegue il rendering dinamico dei contenuti e il modello del sito è composto da più parti, una delle sue parti è il file sidebar.php Lasciami fare.

    Creazione del file sidebar.php

    Crea un file come sidebar-right.php , dagli un titolo e incolla il codice sopra. Tutto insieme sarà simile a questo:

    Come puoi vedere dall'esempio, ho integrato il codice con markup HTML aggiuntivo. Ora, per visualizzare l'area del widget, resta da scrivere quanto segue al posto giusto:

    Per la colonna di sinistra, il file sidebar-left.php viene creato di conseguenza e visualizzato nel posto giusto del modello in questo modo:

    Come si suol dire, trova una differenza nel codice.

    Ecco fatto, le barre laterali sono state create, ora l'unica cosa rimasta è creare markup per loro nel modello e scrivere stili CSS.



    
    Superiore