Den ultimata guiden för WordPress villkorliga taggar

Villkorade taggar för WordPress är en stor funktion i WordPress som gör att du kan kontrollera vilket innehåll som visas på en sida. Det finns villkorade taggar för olika områden på din webbplats, till exempel din hemsida, blogginlägg och sidor. Detta gör att du kan ändra vad som visas på din webbplats. Till exempel kan du ändra din webbplatslogotyp i olika områden på din webbplats.


I den här tutorialen kommer jag att förklara vilka villkorade taggar som är tillgängliga för dig och visa hur de kan användas i teman och plugins.

Hur WordPress villkorade taggar fungerar

Villkorade taggar är en boolesk datatyp som bara kan returnera sant eller falskt. Taggen är_home (), till exempel, hänvisar till bloggindex. Vi kan använda den här taggen för att visa ett meddelande till besökare på vår blogg. Det här meddelandet visas inte någon annanstans.

Koden är enkel. Allt vi gör nedan är att kontrollera om sidan som visas är bloggens indexsida. Om det är så visar vi vårt meddelande.

<?php

if (is_home ()) {

eko "Välkommen till vår blogg!!";

}

?>

Ovanstående är ett grundläggande exempel på vad som kan uppnås med villkorade taggar, men det är väsentligen allt som finns åt det. Du kontrollerar helt enkelt vilken typ av sida som visas. Beroende på om resultatet är sant eller felaktigt, är en annan kod kod.

Innan vi tittar på fler exempel på hur villkorade taggar kan användas, låt oss först titta på populära villkorade taggar som du troligtvis kommer att använda i dina WordPress-teman.

  • är hemma() – Kontrollerar om blogginläggets index visas. Det här kanske inte är din hemsida också.
  • is_front_page () – Kontrollerar om din startsida visas. Detta fungerar oavsett om dina inställningar på första sidan är inställda för att visa blogginlägg (dvs. bloggindex) eller en statisk sida.
  • är singel() – Kontrollerar om någon typ av enstaka inlägg visas (exklusive bilagor).
  • is_attachment () – Kontrollerar om en bilaga visas.
  • is_page () – Kontrollerar om en sida visas.
  • is_singular () – Kontrollerar om en enda post, bilaga eller sida visas. True returneras om någon av dessa villkor är uppfyllda.
  • is_category () – Kontrollerar om en kategoriarkivsida visas.
  • is_search () – Kontrollerar om en sökresultatsida visas.
  • is_tag () – Kontrollerar om ett taggarkiv visas.
  • is_author () – Kontrollerar om en författares arkivsida visas.
  • is_archive () – Kontrollerar om någon typ av arkivsida visas inklusive kategori, tagg, datum och författararkiv.
  • is_sticky () – Kontrollerar om ett inlägg har definierats som klibbig.
  • is_multi_author () – Kontrollerar om mer än en författare har publicerat inlägg på webbplatsen. True returneras om två eller flera personer har publicerat inlägg. Om bara en författare har publicerat inlägg, eller om inga inlägg har publicerats alls returneras falskt.

Det finns sex tidsbaserade villkorade taggar som du också finner användbara. Dessa taggar avser datumarkivsidor. Till exempel är webbadressen http://www.yourwebsite.com/2013/12/ en månadsbaserad arkivsida.

Om någon av följande villkorade taggar returnerar sant, är is_archive () också sant.

  • is_date () – Kontrollerar om det är en datumbaserad arkivsida.
  • is_year () – Kontrollerar om det är en årsbaserad arkivsida.
  • is_month () – Kontrollerar om det är en månadsbaserad arkivsida.
  • is_day () – Kontrollerar om det är en dagsbaserad arkivsida.
  • är tid() – Kontrollerar om det är en tidsbaserad arkivsida.
  • is_new_day () – Kontrollerar om idag är en ny dag. Om det aktuella inlägget publicerades på en annan dag än det föregående inlägget som publicerades, skulle det återkomma. Fals kommer att returneras om båda inlägg publicerades samma dag.

Du kommer att stöta på villkorade taggar som is_home () och is_single () ofta, men du behöver inte komma ihåg alla dessa villkorade taggar. De flesta WordPress-användare hänvisar till WordPress-koden för rätt villkorlig tagg när de behöver konfigurera en villkorad funktion.

Exempel på villkorliga taggar

Många villkorade taggar gör det möjligt att överföra parametrar till funktionen. Detta ger dig mycket mer kontroll över vilka villkor som måste uppfyllas innan något görs. is_page () är ett bra exempel på detta. Taggen låter dig kontrollera om sidan som visas är en sida. is_page () returnerar ett värde av true om någon sida visas, men du måste ange $ sid-parametern om du vill vara mer specifik. Parametern för $ sida kan vara sid-ID, sidtitel eller sid-snigel.

Låt oss överväga en vanlig webbplats som har en om-sida och du vill anpassa om-sidan annorlunda än alla andra sidor. Du kan till exempel visa ett fotografi av ditt företag högst upp i sidofältet, eller du kan visa ytterligare information längst ner på sidan om.

För att göra detta måste du definiera parametern $ page. Om sid-ID-numret var 10 kan du öppna ditt villkorliga uttalande med något liknande:

if (is_page (10)) {

En specifik sida kan också specificeras genom att överföra sidtiteln till funktionen.

if (is_page (‘Om oss’)) {

Sidans snigel kan också användas. Som ni kommer ihåg är sidosnören den unika namngivna identifieraren i slutet av URL: n. Om din URL-sida om sidan var www.yourwebsite.com/about-our-company/ skulle sidans snigel vara om-vårt företag.

if (is_page (‘om-vårt företag’)) {

Vissa villkorade taggar, t.ex. is_page (), kan också skicka parametrar i en matris. Följande villkorliga uttalande returnerar ett värde av sant om någon av villkoren är sanna.

if (is_page (matris (10, ‘Om oss’, ‘om-vårt företag’))) {

Det är vanligt att utvecklare ställer in mer än ett villkor när man använder villkorade taggar. Låt oss gå tillbaka till den enkla uppgiften att visa ett välkomstmeddelande till bloggbesökare. Detta är något som en företagswebbplats kanske vill lägga till sitt bloggområde men inte till andra områden på deras webbplats (t.ex. hemsida, kontaktsida, om sida osv).

De kan göra detta genom att använda villkoren för is_home () och is_single (); som representerar bloggindex respektive enstaka inlägg. För att visa ett meddelande i båda områdena måste du använda den logiska ELLER-operatören ||. Detta illustreras i koden nedan. Det initiala if-uttalet kontrollerar om sidan är bloggindex eller ett enda inlägg. Om endera är sant, visas meddelandet.

<?php

if (is_home () || is_single ()) {

eko "Välkommen till vår blogg!!";

}

?>

En annan logisk operatör som är mycket användbar är AND-operatören &&. Detta används när du vill att två eller flera villkor ska vara sanna innan något görs. Följande om uttalande kontrollerar om en sida är både en arkivsida och kategoriserad under nyhetskategorin. På nyhetssidorna visas välkomstmeddelandet. Ingenting kommer att visas i andra kategorier.

<?php

if (is_archive () && is_category (‘Nyheter’)) {

eko "Välkommen till nyhetsarkivet";

}

?>

AND och OR-operatörer kan kombineras. Exemplet nedan är hämtat från functionen.php-mallen för standard WordPress-temat Twenty Thirteen. Funktionen används för att visa sidtiteln i webbläsaren, men bara en del av funktionen visas nedan.

If-uttalandet returnerar ett värde av true om det finns en webbplatsbeskrivning och användaren tittar på bloggindexet eller hemsidan. Webbplatsbeskrivningen kan anges via taglinefältet i ditt allmänna inställningsområde. Om du fyller i det här fältet, på ditt bloggindex och hemsida, kommer titelraden att visa “Site Title | Webbplatsbeskrivning ”(Obs! Separatorn visas med strängen $ sep i koden nedan). Om du inte gör det kommer titelraden att visa “Site title”.

Som ni ser är is_home och _is_front_page en enda enhet på grund av OR-operatören. Detta är anledningen till att de är inslagna i konsoler.

if ($ site_description && (is_home () || is_front_page ()))
$ title = "$ title $ sep $ site_description";

En annan logisk PHP-operatör som du kan använda är inte operatören! Detta är mer praktiskt att använda under många omständigheter. Låt oss till exempel säga att du vill visa ett foto på alla dina sidor utom dina arkiv. Det finns inget behov att sätta upp ett långt villkorligt uttalande som frågar “Är det hemsidan, är det ett enda inlägg, är det en sida …”. Det är mer praktiskt att helt enkelt fråga “Är detta inte en arkivsida?”.

För att göra detta, lägg bara till ett utropstecken före den villkorade taggen. Koden nedan visar hur enkelt detta är i praktiken. Det kommer att visa en bild på varje sida på din webbplats utom arkivsidor.

<?php

if (! is_archive ()) { ?>

<?php

}

?>

Fram till nu har vi tittat på grundläggande exempel på villkorade taggar som används där något antingen handlas eller det inte handlas (dvs. om A är sant, gör B). I praktiken är det vanligtvis en annan åtgärd att göra om ett villkor inte uppfylls. Dessutom kan det finnas flera villkor som kan uppfyllas, med olika svar på var och en.

I stället för att skriva massor av enskilda uttalanden för detta är det praktiskt att använda annat och annat om uttalanden. Detta tillåter dig en större grad av kontroll över vad som visas på din webbplats.

Vi kan visa detta med hjälp av ett exempel. Låt oss säga att du vill visa en annan logotyp på din webbplats i olika områden på din webbplats. Hur skulle du göra detta? Svaret är enkelt: Vi använder annat och annat om uttalanden. Koden nedan visar hur detta kan uppnås.

<?php

if (is_home () || is_front_page ()) { ?>

<?php

} elseif (is_category ()) { ?>

<?php

} elseif (is_single ()) { ?>

<?php

} elseif (is_page ()) { ?>

<?php

}

annars { ?>

<?php

}

?>

Beroende på vilket område på webbplatsen en besökare tittar på, visas en av fem logotyper med ovanstående kod. Det är ett grundläggande exempel som illustrerar hur lätt annat och annat uttalanden kan användas för att kontrollera många olika områden på din webbplats.

Elseif-uttalanden används också i andra delar av WordPress. De flesta features.php-mallar använder dem och många WordPress-teman använder dem för att ändra hur deras webbplatstitel visas i webbläsare.

Mer villkorliga taggar

Det finns ett antal ytterligare villkorade taggar tillgängliga. Många av dessa används av utvecklare i teman och plugins.

Nedan finns en lista över några av de andra villkorade taggarna som är tillgängliga för dig.

  • is_tax () – Kontrollerar om en anpassad arkivssida för taxonomi visas.
  • has_term () – Kontrollerar om det aktuella inlägget har en av de angivna villkoren.
  • taxonomy_exists () – Kontrollerar om taxonominamnet finns.
  • post_type_exists () – Kontrollerar om det finns en posttyp.
  • is_post_type_hierarchical ($ post_type) – Kontrollerar om posttypen är hierarkisk.
  • is_post_type_archive () – Kontrollerar om arkivsidan för en specifik posttyp visas.
  • is_comments_popup () – Kontrollerar om popup-fönstret för kommentarer är öppet.
  • comments_open () – Kontrollerar om kommentarer är tillåtna för det aktuella inlägget eller sidan.
  • pings_open () – Kontrollerar om pings är tillåtna för det aktuella inlägget eller sidan.
  • is_feed () – Kontrollerar om den aktuella frågan är för ett flöde.
  • is_404 () – Kontrollerar om ett 404-fel visas.
  • is_paged () – Kontrollerar om sidan du för närvarande tittar på är en annan paginerad sida än sida. Inlägg och sidor pagineras när du använder nästa sida QuickTag i ditt innehåll för att dela upp stora inlägg.
  • is_trackback () – Kontrollerar om en trackback används.
  • is_admin () – Kontrollerar om användaren är inloggad i administratörsområdet. Det används inte för att kontrollera om en användare har administratörsbehörighet, bara om de är inloggad i WordPress-instrumentpanelen.
  • is_page_template () – Kontrollerar om sidan som visas använder en sidmall. En specifik sidmall kan definieras om det behövs.
  • is_preview () – Kontrollerar om ett blogginlägg visas i utkastläge.
  • has_excerpt () – Kontrollerar om det nuvarande inlägget har ett utdrag. Specifika inlägg kan definieras.
  • has_nav_menu () – Kontrollerar om en menyplats har en meny tilldelad. Detta används av temautvecklare för att visa något om användaren inte har lagt till en meny.
  • i slingan() – Kontrollerar om den som ringer fortfarande ligger inom WordPress-slingan.
  • is_active_sidebar ($ index) – Kontrollerar om en given sidofält används.
  • is_multisite () – Kontrollerar om flersidan stöds.
  • is_main_site () – Kontrollerar om en flersida är huvudsidan i nätverket.
  • is_super_admin () – Kontrollerar om en användare är en superadministratör i nätverket.
  • is_plugin_active (plugin $) – Kontrollerar om ett plugin är aktiverat.
  • is_child_theme () – Kontrollerar om ett barntema används.
  • current_theme_supports ($ -funktion) – Kontrollerar om ett tema stöder en specifik funktion som inläggformat eller presenterade bilder.

Kontrollera också: Hur man tar bort standardtaxonomier.

Villkorade taggar är ett viktigt WordPress-koncept. Beroende på hur användbara de är, finns det få WordPress-teman som är utformade utan dem. När du har förstått annat uttalanden, annars om uttalanden och logiska operatörer som AND, OR och Not; du kommer att kunna hantera alla villkorade funktioner.

Jag hoppas att den här guiden hjälpte dig att lära dig att använda WordPress villkorade taggar i dina teman.

Om du gillade den här artikeln, gå med i ThemeLab på Twitter.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map