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 mallfilerna page.php eller index.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:

  1. Sidmall – Om sidan har en egen mall tilldelad letar WordPress efter den filen och, om den hittas , använder den.
  2. page-{slug}.php – Om ingen anpassad mall har tilldelats letar WordPress efter och använder en specialmall som innehåller sidans slug.
  3. 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.
  4. page.php – Om en specialmall som innehåller sidans ID inte hittas letar WordPress efter och använder temas standardsidmall.
  5. singular.php – Om page.php inte hittas letar WordPress efter och använder tematmallen som används för ett enskilt inlägg, oavsett posttyp.
  6. 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:

  1. page-{slug}.php
  2. 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ör WP_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" (i wp_postmeta -tabellen). (Anpassade fält som börjar med en understrykning visas inte i redigeringsskärmens anpassade fältmodul.)

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *