Crea un tema per i giornali con WP_Query e il Framework CSS 960

WP_Query è un potente strumento per controllare ciò che esce dal tuo ciclo. Oggi vi insegnerò tutto su come usarlo per creare un tema a 3 colonne con un giornale che abbia tutti i post principali del blog nella colonna principale e, a lato, una serie di post con una determinata categoria. Useremo il 960 framework CSS per il layout di base e il reset del nostro tema, taglierà molto lavoro su ciò che è necessario!

Prefazione

Il nostro piano di attacco è quello di eliminare tutti i messaggi con una categoria assegnata condivisa, e
posizionali di lato separatamente dai post principali. Vedremo anche un metodo
per creare un "post in primo piano" senza usare jQuery o JavaScript! Ho anche messo insieme un .psd (usando i modelli che 960 ti forniscono al download) di cosa
miriamo a raggiungere oggi. Scarica il .psd qui.

Supponiamo che tu abbia un'installazione live di WordPress, che sia locale o ospitata. Se hai bisogno di un po 'di aiuto, vale la pena prima imparare come installare WordPress localmente su Windows o OS X.

Step 1: Le necessità

Alrighty. Quindi, a parte l'ovvia necessità di un'installazione di WordPress, stiamo andando
avere bisogno anche di alcune cose in più. Ho un sacco di file di cui avrai bisogno
avere nella cartella del tema.

  • Tutto deve andare in una cartella tematica wp-content / themes /, quindi crea
    una cartella chiamata triColumnNews e posiziona tutto ciò che sta procedendo!
  • 960 Framework CSS - Anche questo è ovvio. Dentro il tuo triColumnNews
    cartella, creare un'altra cartella denominata 960. Andare a
    960 Grid System e prendi una copia del framework. Nel download lo farai
    trova alcune cartelle. Apri la cartella con il nome appropriato 'codice' e copia i 3 file CSS (960.css,
    reset.css e text.css) nella cartella 960 hai creato un secondo
    fa. Adesso è tutto dolce.
  • functions.php - Avremo bisogno di una barra laterale, quindi abbiamo bisogno functions.php
    registrarlo.
  • cartella di immagini - Beh duh ... Ogni tema decente ha alcune immagini! Creare
    la cartella immagini e posto
    bodyBg.png e
    searchBg.png in esso.
  • index.php - Un concetto ovvio ... Lavoreremo principalmente su questo.
  • page.php e single.php - La nostra pagina indice avrà 3 colonne, giusto? Ma
    Non penso che le singole pagine richiedano 3 colonne. Modifichiamo le pagine del modello secondario
    alla fine in modo che se vai a una pagina, non è tutto confuso a causa della
    WP_Query non corretto nell'indice (non corretto per la pagina specifica, non l'indice).
  • style.css
    - Copialo e modificalo di conseguenza, se lo desideri.

Hai tutto questo? Buono. Dovresti essere pronto per il resto del tutorial ora! Non dimenticare
attivare il tema in WP-admin (wp-admin / themes.php).

Passaggio 2: HTML e di base Codice WordPress

Non ho ancora intenzione di darti tutto il codice WordPress. Ho intenzione di darti
tutto il codice WordPress di cui hai bisogno escludendo WP_Query. Faranno un passo avanti
proprio, perché hanno sicuramente bisogno di una spiegazione! Riempirebbe anche la pagina
molto, quindi ho incluso tutto in un .txt piuttosto che qui.
Scaricalo e copialo in index.php. Oppure scrivilo, qualsiasi cosa vada bene. Digitando
ti aiuta a ricordare quello che stai facendo!

Alcune cose da notare

Questo è un sacco di codice da elaborare, quindi mi limiterò a cogliere le parti interessanti
per te, e spiegali.

  • capo - Questo è tutto roba di WordPress. Foglio di stile, collegamento RSS2 e alcuni
    Roba WP.
  • #data e ora - Hai mai letto un giornale che non ha la data
    fino a? Neanche io. Non iniziamo adesso, hm? Questo visualizza la data nel formato:
    (Gio 17,6 luglio). Saliremo così in alto in modo che rimanga nella finestra del browser
    sempre! Solo perché…
  • modulo - Questo è il modulo di ricerca per il blog! Ho appena bloccato
    uno dentro per riempire lo spazio e renderlo ancora più convincente!
  • dynamic_sidebar - Questo fondamentalmente lo spiega ... È la barra laterale che vogliamo,
    chiamato triNews in modo che possa essere identificato in Dashboard.
  • Nota - Puoi vedere che sta già iniziando a prendere forma in
    termini di layout (un layout molto squewif, ma non il reset!) - Ho importato il
    960 file usando un @import in style.css, per salvare HTTPRequests, e dà anche
    nostro codice genitore potere sul codice 960.
  • Tutte le piccole lezioni divertenti ... Continua a leggere.

Le 960 classi

Quindi scommetto che stai notando tutte queste piccole classi "grid_5" e "container_12" e
cosa diavolo è? Bene, lascia che ti spieghi. Il numero che segue "grid_"
è il numero di colonne che vogliamo che div sia selezionato. Perché vogliamo 12 colonne,
avvolgiamo il tutto (usando div # involucro) con la classe 'container_12'.
Nel CSS di base che ti ho fornito, ha le importazioni per i tre file 960,
quindi abbiamo già un layout a metà quando non abbiamo codificato alcun CSS!

Questo non apparirà troppo appariscente. Non è stato disegnato e non ha nemmeno il contenuto:

Passaggio 3: WP_QueryS

Qui è dove avviene tutta la magia! abbiamo tre WP_QueryS:

  • theirNews - Quindi abbiamo notizie divise, giusto? Vogliamo solo questa sezione
    mostra i post con la categoria 'loroNews'. Da parte mia, (del mio blog di test) che ho dato
    circa 7 dei miei post di questa categoria. Dovresti andare a dare anche loro. Hai anche bisogno
    per trovare l'ID di categoria della loro categoria News, ma ti porterò rapidamente a termine
    come trovarlo più tardi.
  • In primo piano - Ricorda che ho detto che ti mostrerò come fare un post in vetrina senza
    jQuery? Ecco la soluzione in breve: mostra solo il post più recente fino ad oggi
    nel proprio ciclo di query.
  • principale - il trucco con questo è che non vogliamo la categoria delle loroNotizie
    qui dentro, né vogliamo il primo post. È facile, vedrai tra un minuto.

Passaggio 3: 1 - theirNews

Quindi vogliamo una colonna di contenuti WordPress da una sola categoria. Come facciamo noi
Fai quello? Usando il vasto gamma di parametri che WP_Query ci fornisce
con, è facile farlo. Sostituisci il commento loroNews in index.php con:

query ( 'category_name = theirNews & showposts = 7'); while ($ theirNews-> have_posts ()): $ theirNews-> the_post (); ?>  

Query! Facciamo un salto dentro.

  • $ theirNews è la query variabile che useremo per la sezione "loroNews".
    Questo definisce una nuova query, l'intera base di WP_Query.
  • query (); - Ecco i nostri parametri specifici. Vogliamo solo mostrare il massimo
    7 post, tutti sotto il nome della categoria "loroNews". Puoi cambiare queste variabili
    naturalmente, 7 è solo il numero di post a cui è assegnata la categoria.
  • Il resto del codice è un ciclo abbreviato, che viene specificato usando il nostro $ theirNews
    variabile.

Abbiamo bisogno di un codice di loop specifico.

 

Leggi l'articolo completo '); ?>

Semplicemente il titolo avvolto in a h4 tag, con il contenuto avvolto in un div
classificata "entrata". Grande! Hai fatto il tuo primo WP_Query su 3, che dovrebbe
ora elenca solo le categorie con il nome "loroNews"

Passaggio 3: 2 - In primo piano

Vogliamo mostrare solo 1 post, che non ha la categoria "loroNews". Solo 1.
Dal momento che ora comprendi i fondamenti di WP_Query, ti darò il codice completo
(sostituisci il commento FEATURED POST con):

query ( 'showposts = 1 & cat = -59'); while ($ featured-> have_posts ()): $ featured-> the_post (); ?>

Pubblicato sotto .

Questo è il nostro post in primo piano, quindi ho giustamente chiamato il div 'featuredPost',
ma perché in seguito vorremmo anche gli stili di post regolari, ho incluso il
classe 'post'.

Stesso accordo con WP_Query. Questa volta i parametri mostrano solo 1 post che non lo sono
dalla categoria 59. La categoria 59 è l'ID della categoria "loroNews". ho bisogno
per dirti come ottenerlo!

  1. Apri WP-Admin.
  2. Clicca su gestisci.
  3. Clicca su Categorie.
  4. Clicca sulla categoria 'loroNews' (o come lo hai chiamato tu).
  5. Controlla l'URL della pagina. Dovrebbe essere qualcosa del genere:

    Guarda come è & Cat_id = 59 alla fine? Questo è il tuo numero di categoria.
    Il mio è 59, assicurati di cambiarlo in qualunque sia l'ID della categoria "loroNews"!

  6. Ricorda quel numero, ne avremo bisogno anche nella prossima Query.

La differenza con il post in primo piano è principalmente il h2. Perché è il
seconda intestazione più grande sulla pagina. Fino alla sezione "loroNews" abbiamo concluso
in in a h4 elemento, perché dopo i post della colonna principale sarà il
prossima intestazione sulla pagina. Tutto per lo styling.

Passaggio 3: 3 - principale

La nostra ultima WP_Query. Questo sarà tutti messaggi esclusi i post contenuti
dalla categoria "loroNews" (è necessario l'ID. Il mio era 59, puoi ricordare il tuo?).
Ma perché stiamo già mostrando il primo post in generale (la funzione
post), non vogliamo mostrarlo di nuovo, giusto? Quindi abbiamo bisogno di compensare i post di
1 - Facile da fare con i potenti parametri di WP_Query. Sostituisci il commento MAIN WP QUERY
in index.php con questo:

query ( 'posts_per_page = 5 & offset = 1 & cat = -59'); while ($ main-> have_posts ()): $ main-> the_post (); ?> 

Pubblicato sotto .
Leggi l'articolo completo '); ?>
  • posts_per_page - È esattamente quello che è ... Quando aggiungerai il prossimo
    e pagine precedenti sostituisce ciò che hai impostato in WP-Admin. Ho 3 come predefinito,
    e non poteva essere disturbato cambiando così ho fatto 5 per la colonna principale.
  • compensare - Ricorda come ho detto che non dobbiamo mostrare il primo post, perché
    ce l'abbiamo già nella sezione post in primo piano.
  • cat = -59 - Abbiamo bisogno di specificare quale categoria non includere - loroNews
    - e per me, ha l'ID di 59. Il '-' proprio prima del numero conta fondamentalmente
    per esclusione.

Quindi questo è tutto il codice HTML e WordPress di cui abbiamo bisogno. Sembrerà ancora di base, ma
avrà il layout generale a 3 colonne che stiamo cercando!

Passaggio 4: CSS

Ora, poiché tutto il nostro layout è praticamente fatto, è principalmente solo lo stile
necessario! Scaricare
tutto questo CSS e incollalo nel tuo style.css. Ci sono alcune cose che
sovrascrivere il codice 960 predefinito. Non abbiamo bisogno di usare !IMPORTANTE perché
il nuovo codice è in realtà più in alto nella scala gerarchica rispetto al codice 960. Noi
usa il codice 960 come una sorta di 'base' da cui possiamo costruire. Se decori il
fondamenta di una casa, vedi ancora le fondamenta grezze? Questa 'decorazione'
si basa principalmente sulle intestazioni, ma alcuni stili generali vengono utilizzati per il contenuto del testo ecc. Uno
l'override principale è il carattere del corpo. Specifichiamo Georgia, quando il default è in realtà
Helvetica. I caratteri sono davvero all'altezza delle tue preferenze, ho appena usato la Georgia
diverso! Una volta incollato e letto tutto il CSS, dovrebbe essere la prima pagina
sembra completo!


Passaggio 5 - File modello secondario (facoltativo)

Sto solo includendo questa sezione in modo da non ottenere una miriade di domande chiedendo perché individuo
le pagine restituiscono le informazioni che dovrebbero essere sulla pagina principale! Quindi il nostro indice
la pagina ha 3 colonne - Ma cosa riempiresti 3 colonne con un singolo specifico
pagina? Tutto quello che vuoi! Anche se suggerirei il contenuto del post ... Quindi vado
per spiegare come page.php e single.php lavoro, nel caso tu
voglio estendere il tema. Se vuoi dividere index.php in header, sidebar e
footer, fallo ora! Altrimenti, andremo avanti:

  1. Apri single.php.
  2. Copia tutto il codice da index.php in single.php.
  3. Scorri fino a quando arrivi div # loro.
  4. Elimina l'intero div Mentre ci sei, elimina anche il post in primo piano!
  5. Tutto quello che dovresti aver lasciato è div # main.grid_5. Cambia il 5 in un 9 per compensare
    per le 4 colonne di cui ci siamo appena sbarazzati.
  6. Non dimenticare di modificare il commento di fine div in modo da non confonderlo più tardi!

Quindi ora dovresti avere una colonna principale vuota. Stiamo andando a riempire questo con un
ciclo regolare:

 

Pubblicato sotto .

No ... Il solito vecchio ciclo noioso. Sentiti libero di realizzare questa singola pagina
tu vuoi che i tuoi singoli post appaiano. Questo fornisce la base
modello per WordPress per visualizzare un singolo post.

Passaggio 5, parte 2

Quindi questo è un singolo post, ma abbiamo ancora collegamenti a singoli pagine nel
navigazione e piè di pagina. Se fai clic su di essi, restituiranno lo stesso dell'indice.
Non fantastico Tutto ciò che dobbiamo fare è copiare tutto, da single over a page.php,
e dovrebbe essere dolce. Facile eh? Queste pagine dovrebbero assomigliare a questo:

Incartare

Quindi hai appena visto cosa può fare WP_Query. Consiglio vivamente di visitare
la pagina dei messaggi di Query Post, che ha tutti gli stessi parametri di WP_Query. Puoi restringere il tuo loop a qualsiasi post specifico utilizzando qualsiasi combinazione di parametri separati da a
&.

Spero che vi siate divertiti tanto quanto ho creato un tema alla ricerca di un giornale!
Puoi vedere il prodotto finale qui! Godere!