Comment utiliser les balises WordPress conditionnelles
Silicium; Et quelques exemples pour résumer. Comment fonctionne une balise de condition dans une balise de condition WordPress une fonction WordPress renvoie une valeur booléenne basée sur différentes conditions au moment de l’appel. Les balises de condition sont des fonctions WordPress qui renvoient des valeurs booléennes, vraies ou fausses selon différentes conditions au moment de l’appel. Ces critères sont généralement expliqués dans le nom de la fonction. Les balises conditionnelles peuvent être appelées de n’importe où dans WordPress: thèmes, plugins et vos appels. Ils sont très utiles pour prendre des décisions conditionnelles oui ou non au besoin.
Par exemple, si nous écrivons quelque chose comme if (IS _ sticky Post ()) {} dans la boucle, les balises dans l’instruction if n’apparaîtront que lorsque le message actuel est collant: \
Nous pouvons le faire: \/ * environnement: Nous sommes en boucle, dans l’index. Php * \/
<?php /* Environment: We're inside a theme template file that uses The Loop, like home.php or index.php */ if ( have_posts() ) : while ( have_posts() ) : the_post(); // (Regular Loop contents will go here) if ( is_sticky_post() ) : // This code will execute *only* for sticky posts! endif; endwhile; endif; Nota la sintassi della nostra chiamata a is_sticky_post() . La maggior parte dei tag condizionali di WordPress iniziano con is_ , perché sono controlli di stato. E dal momento che sono spesso collegati a if() -statements, si leggono davvero come l'inglese: "If is sticky post, then…"
Alcuni tag condizionali WP che vale la pena discutere WordPress ha oltre 50 tag condizionali. Non li elencheremo tutti qui, ma ne indicheremo alcuni che sono particolarmente utili o particolarmente suscettibili di creare confusione (o entrambi). Utili tag condizionali di WordPress is_single() : è vero se la pagina che sta attualmente visualizzando è composta da un singolo post, di qualsiasi tipo di post eccetto Allegato (un file multimediale) o Pagina. is_page() : è vero se l'elemento visualizzato è un singolo post del tipo di post "Pagina" predefinito di WordPress. is_singular() : simile a is_single() , ma sarà anche vero quando stai mostrando un post di tipo Allegato o Pagina. Equivale a is_single() || is_page() || is_attachment() is_single() || is_page() || is_attachment() is_single() || is_page() || is_attachment() , dove || significa "o". is_archive() : è vero se la pagina corrente sta visualizzando una serie di archivi, sia per un autore, un intervallo di date, un tag, una categoria, ecc. is_main_query() : è true se la query corrente è la query principale per la pagina. Questo è davvero utile quando stai cercando di hackerare il processo di post-fetching su pre_get_posts , anche se, in tal caso, non lo stai utilizzando a livello globale, ma come metodo sull'oggetto query passato dal filtro. Tag condizionali potenzialmente confusi is_admin() : è vero quando sei nell'area di amministrazione di un sito WordPress. Questo può creare un po' di confusione, perché potresti erroneamente credere che ti dirà se l' utente corrente è un amministratore. is_dynamic_sidebar() : è vero se una qualsiasi delle barre laterali attualmente registrate (aree widget) ha widget attivi. Non proprio quello che ti aspetteresti, dal nome. is_home() : Questo è confuso. Potresti pensare che is_home() ti dirà se stai attualmente eseguendo il rendering della radice del tuo sito WordPress, come http://example.com . Questo non è esattamente il caso: WordPress ti consente di avere un sacco di post del blog nella radice del tuo sito o una "Prima pagina statica". Se il tuo sito ha una prima pagina statica, il tuo is_home() sarà false nella home page del sito ( example.com ) e true nell'indice del blog del sito ( example.com/blog ). In sintesi, is_home() equivale davvero a is_blog_posts_index() — che, purtroppo, non esiste. is_front_page() : is_front_page() è true se sei su una prima pagina statica o sull'indice del tuo blog se non stai utilizzando una prima pagina statica. In altre parole, sarà sempre vero su example.com , qualunque cosa contenga quella pagina. Come puoi vedere, è un po' più come "è a casa?" rispetto a is_home() stesso. Questo è solo un elenco parziale dei tag condizionali che iniziano con is_ . Ce ne sono anche alcuni che iniziano con has_ (e altri che iniziano con nessuno dei due). L'elenco canonico è nel Codex, all'indirizzo https://codex.wordpress.org/Conditional_Tags.
Passaggio di parametri ai tag condizionali in WordPress Molti tag condizionali che valutano il post corrente, come is_singular() , is_home() e is_page() , hanno una caratteristica condivisa: accettano un parametro di funzione che ti consente di specificare un attributo aggiuntivo che il post deve soddisfare. A seconda della funzione, questo attributo può verificare l'ID del post, lo slug del tipo di post o il titolo. Ecco alcuni esempi: is_singular( 'movie-review' ) verifica la presenza di un singolo post di tipo Movie Review. is_page( 'Weekly News Roundup' ) verifica la presenza di una pagina intitolata "Riepilogo notizie settimanali". is_single( 5 ) controlla un singolo post con un ID post di 5. Alcuni casi d'uso per i tag condizionali di WordPress Esistono infiniti modi per combinare gli oltre 50 tag condizionali forniti da WordPress per fare cose interessanti. Ecco alcuni casi d'uso comuni.
Utilizzo di tag condizionali nei file modello I tag condizionali sono molto comunemente usati nello sviluppo di temi WordPress. A volte un elemento in un file della gerarchia di modelli viene visualizzato in alcune situazioni in cui non lo desideri.