WordPress.org (Svenska)
Sidmallar är en specifik typ av mallfil som kan tillämpas på en viss sida eller sidgrupper.
Obs! Från och med WordPress stöder 4,7 sidmallar alla inläggstyper. För mer information om hur man ställer in en sidmall för specifika inläggstyper, se exempel nedan.
Eftersom en sidmall är en specifik typ av mallfil, är det några särskiljande funktioner för sidmallar:
- Sidmallar används för att ändra utseendet på en sida.
- En sidmall kan tillämpas på en enskild sida, ett sidavsnitt eller en sidklass .
- Sidmallar har i allmänhet en hög specificitet och riktar sig mot en enskild sida eller grupp av sidor. En sidmall med namnet
page-about.php
är till exempel mer specifik än mallfilernapage.php
ellerindex.php
eftersom det bara kommer att påverka en sida med ”ca”. - Om en sidmall har ett mallnamn har WordPress-användare som redigerar sidan kontroll över vilken mall som ska användas för att göra sidan.
Användningar för sidmallar #Användningar för sidmallar
Sidmallar visar webbplatsens dynamiska innehåll på en sida, t.ex. inlägg, nyheter, kalenderhändelser, mediefiler osv. Du kan bestämma att du vill att din hemsida ska se ut på ett specifikt sätt, som är helt annorlunda än andra delar av din webbplats. Eller kanske du vill visa en utvald bild som länkar till ett inlägg på en del av sidan, ha en lista över de senaste inläggen någon annanstans och använd en anpassad navigering. Du kan använda sidmallar för att uppnå dessa saker.
Detta avsnitt visar hur du bygger sidmallar som kan väljas av dina användare genom deras administratörsskärmar.
Du kan till exempel skapa sidmallar för:
- fullbredd, en kolumn
- tvåkolumn med sidofält till höger
- tvåkolumn med ett sidofält till vänster
- trekolumner
Överst
Sidmallar inom mallhierarkin #Sidesmallar i mallhierarkin
När en person surfar till din webbplats väljer WordPress vilken mall som ska användas för att återge den sidan. Som vi lärde oss tidigare i mallhierarkin letar WordPress efter mallfiler i följande ordning:
- Sidmall – Om sidan har en egen mall tilldelad letar WordPress efter den filen och, om den hittas , använder den.
-
page-{slug}.php
– Om ingen anpassad mall har tilldelats letar WordPress efter och använder en specialmall som innehåller sidans slug. -
page-{id}.php
– Om en specialmall som innehåller sidans slug inte hittas letar WordPress efter och använder en specialmall med namnet på sidans ID. -
page.php
– Om en specialmall som innehåller sidans ID inte hittas letar WordPress efter och använder temas standardsidmall. -
singular.php
– Ompage.php
inte hittas letar WordPress efter och använder tematmallen som används för ett enskilt inlägg, oavsett posttyp. -
index.php
– Om inget specifikt sidmallar tilldelas eller hittas, WordPress använder som standard tillbaka temat indexfil för att återge sidor.
Varning: Det finns också en WordPress-definierad mall med namnet paged.php
. Den används inte för sidposttyp utan snarare för visning av flera arkivsidor.
Överst
Sidmallar Syfte & User Control #Page Templates Syfte & User Control
Om du planerar att skapa en anpassad sidmall för ditt tema, bör du bestämma ett par saker innan du fortsätter:
- Om sidmallen kommer att vara för en specifik sida eller för vilken sida som helst; och
- Vilken typ av användarkontroll du vill ha tillgänglig för mallen.
Varje sidmall som har ett mallnamn kan väljas av en användare när de skapar eller redigerar en sida. Listan över tillgängliga mallar finns på Sidor > Lägg till ny > Attribut > Mall . Därför kan en WordPress-användare välja vilken sidmall som helst med ett mallnamn, vilket kanske inte är din avsikt.
Om du till exempel vill ha en specifik mall för din ”Om” -sida kanske den inte vara lämpligt att namnge sidmallen ”Om mall” eftersom den skulle vara tillgänglig för alla sidor globalt (dvs. användaren kan tillämpa den på vilken sida som helst). Istället skapar du en mall för engångsbruk och WordPress kommer att återge sidan med lämplig mall när en användare besöker sidan ”Om”.
Omvänt innehåller många teman möjligheten att välja hur många kolumner en sida ska Alla dessa alternativ är en sidmall som är tillgänglig över hela världen.För att ge dina WordPress-användare det här globala alternativet måste du skapa sidmallar för varje alternativ och ge var och en ett mallnamn.
Att diktera om en mall är för global användning kontra singular användning uppnås förresten filen heter och huruvida den har en specifik kommentar eller inte.
Obs! Ibland är det lämpligt att ha en mall tillgänglig över hela världen även om det verkar vara ett engångsfall. När du skapar teman för release kan det vara svårt att förutsäga vad en användare kommer att namnge sina sidor. Portföljsidor är ett bra exempel eftersom inte alla WordPress-användare kommer att namnge sin portfölj samma sak eller ha samma sid-ID och ändå kanske de vill använda den mallen.
Topp
Filorganisation av sidmallar #Filorganisation av sidmallar
Som diskuteras i Organisering av temafiler, känner WordPress igen undermappens sidmallar. Därför är det en bra idé att lagra dina globala sidmallar i den här mappen för att hålla dem organiserade.
Varning: En specialiserad sidmallfil (de som skapats för endast en gångs användning) kan inte vara i en undermapp, inte heller, om du använder ett underordnat tema, i föräldratemas mapp.
Överst
Skapa anpassade sidmallar för global användning # Skapa anpassade sidmallar för global användning
Ibland vill du ha en mall som kan användas globalt av vilken sida som helst eller av flera sidor. Vissa utvecklare kommer att gruppera sina mallar med ett filnamnsprefix, till exempel page_two-columns.php
Varning: Viktigt! Använd inte page-
som prefix, eftersom WordPress tolkar filen som en specialmall, som endast är tillämplig på en sida på din webbplats.
För information om temafilnamnkonventioner och filnamn som du inte kan använda, se reserverade temafilnamn.
Tips: En snabb, säker metod för att skapa en ny sidmall är att göra en kopia av page.php
och ge den nya filen ett tydligt filnamn. På så sätt börjar du med HTML-strukturen på dina andra sidor och du kan redigera den nya filen efter behov.
För att skapa en global mall, skriv en inledande PHP-kommentar högst upp på filen som anger mallens namn.
<?php /* Template Name: Example Template */ ?>
Det är en bra idé att välj ett namn som beskriver vad mallen gör eftersom namnet är synligt för WordPress-användare när de redigerar sidan. Du kan till exempel namnge din mall till startsidan, bloggen eller portföljen.
Detta exempel från temat TwentyFourteen skapar en sidmall som heter Full Width Page:
<?php/*** Template Name: Full Width Page** @package WordPress* @subpackage Twenty_Fourteen* @since Twenty Fourteen 1.0*/
När du laddat upp filen till ditt temas mapp (t.ex. sid- mallar), gå till sidan > Redigera skärmen i din administratörsinstrumentpanel.
On the right hand side under attributes you"ll see template. This is where users are able to access your global page templates.
Tip: The select list has a maximum width of 250px, so longer names may be cut off.
Överst
Skapa en anpassad sidmall för en specifik sida # Skapa en anpassad sidmall för en specifik sida
Som nämnts på sidan Mallhierarki kan du skapa en mall för en viss sida. För att skapa en mall för en viss sida, kopiera din befintliga page.php
-fil och byt namn på den med sidans slug eller ID:
-
page-{slug}.php
-
page-{ID}.php
Till exempel: Din About-sida har en slug av” om ” och ett ID på 6. Om mappen för ditt aktiva tema har en fil med namnet page-about.php
eller page-6.php
, kommer WordPress automatiskt att hitta och använda den filen för att göra Om-sidan.
För att kunna användas måste specialmallar i ditt temas mapp finnas (dvs. / wp-content / themes / my-theme-name /).
Upp
Skapa sidmallar för specifika inläggstyper # Skapa sidmallar för specifika inläggstyper
Som standard kommer en anpassad sidmall att vara tillgänglig för inläggstypen ”sida”.
För att skapa en sidmall till specifika inläggstyper, lägg till en rad under mallnamnet med de inläggstyper som du vill att mallen ska stödja.
Exempel:
<?php/*Template Name: Full-width layoutTemplate Post Type: post, page, event*/// Page code here...
Varning: Den här möjligheten att lägga till sidmallar till inläggstyper annat än inläggstypen ”sida” stöds endast från WordPress 4.7
När det finns minst en mall för en inläggstyp, visas metafältet ”Inläggsattribut” i baksidan, utan att behöva lägga till stöd för posttyp för sidattribut eller något annat. Etiketten Inläggsattribut kan anpassas per inläggstyp med etiketten attribut när du registrerar en inläggstyp.
Bakåtkompatibilitet:
Låt oss säga att du vill publicera ett tema offentligt. med stöd för posttypsmallar. WordPress-versioner före 4.7 ignorerar rubriken Mallposttyp och visar mallen i listan över sidmallar, även om den bara fungerar för vanliga inlägg.För att förhindra det kan du ansluta till temat_page_templates-filtret för att utesluta det från listan. Här är ett exempel:
Utöka fullständig källkodSamla hela källkoden
På det sättet kan du stödja anpassat inlägg skriv mallar i WordPress 4.7 och senare och bibehålla full bakåtkompatibilitet.
Observera att theme_page_templates faktiskt är ett dynamiskt tema _ {$ post_type} _templates filter. Den dynamiska delen av kroknamnet, $ post_type, hänvisar till den posttyp som stöds av mallarna. T.ex. Du kan ansluta till temakatalog_mallar för att filtrera listan med mallar för produktposttypen.
Överst
Använda villkorliga taggar i sidmallar #Använda villkorliga taggar i sidmallar
Du kan göra mindre, sidspecifika ändringar med villkorliga taggar i temat page.php
-fil. Till exempel laddar nedanstående exempelkod filen header-home.php
till din förstasida, men laddar en annan fil (header-about.php
) till din About-sida. och tillämpar sedan standard header.php
för alla andra sidor.
if ( is_front_page() ) :get_header( "home" );elseif ( is_page( "About" ) ) :get_header( "about" );else:get_header();endif;
Du kan läsa mer om villkorliga taggar här.
Upp
Identifiera en sidmall #Identifiera en sidmall
Om din mall använder body_class()
-funktionen, WordPress skriver ut klasser i body
-taggen för posttypens klassnamn (page
), sidans ID (page-id-{ID}
) och den sidmall som används. För standard page.php
är det genererade klassnamnet page-template-default
:
<body class="page page-id-6 page-template-default">
När du använder en anpassad sidmall kommer klassen page-template
skriva ut, tillsammans med en klass som namnger den specifika mallen. Om din anpassade sidmallfil till exempel har följande namn:
<?php/* Template Name: My Custom Page */?gt;
Då kommer genererad HTML som genereras att vara som följer:
<body class="page page-id-6 page-template page-template-my-custom-page-php">
Lägg märke till page-template-my-custom-page-php
-klass som tillämpas på body
-taggen.
Överst
Sidmallfunktioner #Sida mallfunktioner
Dessa inbyggda WordPress-funktioner och metoder kan hjälpa dig att arbeta med sidmallar:
-
get_page_template()
returnerar sökvägen till sidmallen som används för att återge sidan. -
wp_get_theme()->get_page_templates()
returnerar alla tillgängliga sidmallar som är tillgängliga för det aktuella aktiva temat (get_page_templates()
är en metod förWP_Theme
-klassen). -
is_page_template()
returnerar sant eller falskt beroende på om en anpassad sidmall användes för att göra sidan. -
get_page_template_slug()
r värderar värdet för anpassat fält_wp_page_template
(null
när värdet är tomt eller ”standard”). Om en sida har tilldelats en anpassad mall lagras filnamnet för den mallen som värdet på ett anpassat fält med namnet"_wp_page_template"
(iwp_postmeta
-tabellen). (Anpassade fält som börjar med en understrykning visas inte i redigeringsskärmens anpassade fältmodul.)