WordPress.org (Norsk)
Sidemaler er en bestemt type malfil som kan brukes på en bestemt side eller grupper av sider.
Merk: Fra og med WordPress støtter 4.7 sidemaler alle innleggstyper. For mer informasjon om hvordan du angir en sidemal til bestemte innleggstyper, se eksemplet nedenfor.
Siden en sidemal er en bestemt type malfil, er det noen kjennetegn ved sidemaler:
- Sidemaler brukes til å endre utseendet på en side.
- En sidemal kan brukes på en enkelt side, en sideseksjon eller en sideklasse .
- Sidemaler har generelt høyt spesifisitetsnivå og retter seg mot en individuell side eller gruppe av sider. En sidemal med navnet
page-about.php
er for eksempel mer spesifikk enn malfilenepage.php
ellerindex.php
da det bare vil påvirke en side med sneglen «om». - Hvis en sidemal har et malnavn, har WordPress-brukere som redigerer siden kontroll over hvilken mal som skal brukes til å gjengi siden.
Bruk for sidemaler #Bruk for sidemaler
Sidemaler viser nettstedets dynamiske innhold på en side, for eksempel innlegg, nyheter, kalenderhendelser, mediefiler osv. Du kan bestemme at du vil at hjemmesiden din skal se ut på en bestemt måte, som er ganske forskjellig fra andre deler av nettstedet ditt. Eller du vil kanskje vise et utvalgt bilde som lenker til et innlegg på en del av siden, har en liste over de siste innleggene andre steder, og bruk en tilpasset navigering. Du kan bruke sidemaler for å oppnå disse tingene.
Denne delen viser deg hvordan du lager sidemaler som kan velges av brukerne gjennom deres admin-skjermer.
For eksempel kan du lage sidemaler for:
- fullbredde, en kolonne
- to-kolonne med sidefelt til høyre
- to-kolonne med et sidefelt til venstre
- tre-kolonne
Topp
Sidemaler i malhierarkiet #Page Templates in the Template Hierarchy
Når en person surfer til nettstedet ditt, velger WordPress hvilken mal som skal brukes til gjengivelse av siden. Som vi lærte tidligere i malhierarkiet, ser WordPress etter malfiler i følgende rekkefølge:
- Sidemal – Hvis siden har en egendefinert mal tildelt, ser WordPress etter den filen, og hvis den blir funnet , bruker den.
-
page-{slug}.php
– Hvis ingen egendefinerte maler er tildelt, ser WordPress etter og bruker en spesialmal som inneholder sidens slug. -
page-{id}.php
– Hvis en spesialmal som inneholder sidens slug ikke blir funnet, ser WordPress etter og bruker en spesialmal som er navngitt med sidens ID. -
page.php
– Hvis en spesialmal som inneholder sidens ID ikke blir funnet, ser WordPress etter og bruker temaets standard sidemal. -
singular.php
– Hvispage.php
ikke blir funnet, ser WordPress etter og bruker temamalen som brukes til et enkelt innlegg, uansett innleggstype. -
index.php
– Hvis ikke noe spesifikt sidemaler tildeles eller blir funnet, WordPress bruker som standard tilbake til å bruke temaets indeksfil til å gjengi sider.
Varsel: Det er også en WordPress-definert mal som heter paged.php
. Den brukes ikke til sidetypetypen, men heller til å vise flere sider med arkiver.
Topp
Sidemaler Formål & User Control #Page Templates Formål & User Control
Hvis du planlegger å lage en egendefinert sidemal for temaet ditt, bør du bestemme et par ting før du fortsetter:
- Om sidemalen vil være for en bestemt side eller for en hvilken som helst side; og
- Hvilken type brukerkontroll du vil ha tilgjengelig for malen.
Hver sidemal som har et malnavn kan velges av en bruker når de oppretter eller redigerer en side. Listen over tilgjengelige maler finner du på Sider > Legg til ny > Attributter > Mal . Derfor kan en WordPress-bruker velge hvilken som helst sidemal med et malnavn, som kanskje ikke er din intensjon.
Hvis du for eksempel vil ha en spesifikk mal for «Om» -siden din, er det kanskje ikke være passende å navngi sidemalen «Om mal», da den ville være tilgjengelig for alle sider (dvs. brukeren kan bruke den på hvilken som helst side). I stedet oppretter du en mal for engangsbruk, og WordPress gjengir siden med riktig mal hver gang en bruker besøker «Om» -siden.
Omvendt inkluderer mange temaer muligheten til å velge hvor mange kolonner en side vil har. Hver av disse alternativene er en sidemal som er tilgjengelig globalt.For å gi WordPress-brukerne dette globale alternativet, må du opprette sidemaler for hvert alternativ og gi hver et malnavn.
Diktere om en mal er for global bruk kontra singular bruk oppnås forresten filen er navngitt, og om den ikke har en spesifikk kommentar.
Merk: Noen ganger er det hensiktsmessig å ha en mal tilgjengelig globalt, selv om det ser ut til å være en engangsbruk. Når du lager temaer for utgivelse, kan det være vanskelig å forutsi hva en bruker vil gi sidene deres navn. Porteføljesider er et godt eksempel, da ikke alle WordPress-brukere vil navngi porteføljen sin det samme eller ha samme side-ID, og likevel vil de kanskje bruke den malen.
Topp
Filorganisasjon av sidemaler #File Organisering av sidemaler
Som diskutert i Organisering av temafiler, gjenkjenner WordPress undermappens sidemaler. Derfor er det en god ide å lagre de globale sidemalene i denne mappen for å holde dem organisert.
Varsel: En spesialisert sidemalfil (de som er opprettet for kun en gangs bruk) kan ikke være i en undermappe, og heller ikke, hvis du bruker et underordnet tema, i foreldretemaets mappe.
Topp
Opprette egendefinerte sidemaler for global bruk # Opprette egendefinerte sidemaler for global bruk
Noen ganger vil du ha en mal som kan brukes globalt av en hvilken som helst side eller av flere sider. Noen utviklere vil gruppere malene sine med et filnavnprefiks, for eksempel page_two-columns.php
Alert: Viktig! Ikke bruk page-
som et prefiks, da WordPress vil tolke filen som en spesialmal, som bare skal brukes på én side på nettstedet ditt.
For informasjon om konvensjoner om filnavn og filnavn du ikke kan bruke, se reserverte temafilnavn.
Tips: En rask, sikker metode for å lage en ny sidemal er å lage en kopi av page.php
og gi den nye filen et tydelig filnavn. På den måten begynner du med HTML-strukturen til de andre sidene dine, og du kan redigere den nye filen etter behov.
For å lage en global mal, skriv en innledende PHP-kommentar øverst på filen som angir malens navn.
<?php /* Template Name: Example Template */ ?>
Det er lurt å velg et navn som beskriver hva malen gjør da navnet er synlig for WordPress-brukere når de redigerer siden. Du kan for eksempel gi malen din startside, blogg eller portefølje.
Dette eksemplet fra TwentyFourteen-temaet oppretter en sidemal som heter Full Width Page:
<?php/*** Template Name: Full Width Page** @package WordPress* @subpackage Twenty_Fourteen* @since Twenty Fourteen 1.0*/
Når du har lastet opp filen til temaets mappe (f.eks. side- maler), gå til siden > Rediger skjermbildet i admin-dashbordet.
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.
Topp
Opprette en egendefinert sidemal for én spesifikk side # Opprette en egendefinert sidemal for én spesifikk side
Som nevnt på malhierarkisiden, kan du opprette en mal for en bestemt side. Hvis du vil opprette en mal for en bestemt side, kopierer du den eksisterende page.php
-filen og omdøper den med sidens slug eller ID:
-
page-{slug}.php
-
page-{ID}.php
For eksempel: Om-siden din har en slug av» om » og en ID på 6. Hvis mappen til det aktive temaet ditt har en fil med navnet page-about.php
eller page-6.php
, vil WordPress automatisk finne og bruke den filen for å gjengi Om-siden.
For å kunne brukes, må spesialiserte sidemaler være i temaets mappe (dvs. / wp-content / themes / my-theme-name /).
Topp
Opprette sidemaler for bestemte innleggstyper # Opprette sidemaler for bestemte innleggstyper
Som standard vil en egendefinert sidemal være tilgjengelig for innleggstypen «side».
For å opprette en sidemal til bestemte innleggstyper, legg til en linje under malnavnet med innleggstypene du vil at malen skal støtte.
Eksempel:
<?php/*Template Name: Full-width layoutTemplate Post Type: post, page, event*/// Page code here...
Alert: Denne muligheten til å legge til sidemaler til innleggstyper annet enn «side» innleggstype støttes bare fra WordPress 4.7
Når det finnes minst én mal for en innleggstype, vises metafeltet «Innleggsattributter» i bakenden, uten behov for å legge til støtte for innleggstype for side-attributter eller noe annet. Etiketten «Innleggsattributter» kan tilpasses per innleggstype ved hjelp av «attributter» -etiketten når du registrerer en innleggstype.
Bakoverkompatibilitet:
La oss si at du ønsker å offentliggjøre et tema offentlig med støtte for innleggstypemaler. WordPress-versjoner før 4.7 ignorerer malposttypeoverskriften og viser malen i listen over sidemaler, selv om den bare fungerer for vanlige innlegg.For å forhindre det, kan du koble deg til filteret theme_page_templates for å ekskludere det fra listen. Her er et eksempel:
Utvid full kildekodeKollaps full kildekode
På den måten kan du støtte tilpasset innlegg skriv maler i WordPress 4.7 og utover mens du opprettholder full bakoverkompatibilitet.
Merk at theme_page_templates faktisk er et dynamisk tema _ {$ post_type} _templates filter. Den dynamiske delen av krokenavnet, $ post_type, refererer til innleggstypen som støttes av malene. F.eks. du kan koble til theme_product_templates for å filtrere listen over maler for produktinnleggstypen.
Topp
Bruk av betingede tagger i sidemaler #Bruk betingede tagger i sidemaler
Du kan gjøre mindre, sidespesifikke endringer med betingede tagger i temaets page.php
-fil. Eksempelkoden nedenfor laster for eksempel filen header-home.php
til forsiden din, men laster inn en annen fil (header-about.php
) til About-siden din, og bruker deretter standard header.php
for alle andre sider.
if ( is_front_page() ) :get_header( "home" );elseif ( is_page( "About" ) ) :get_header( "about" );else:get_header();endif;
Du kan lære mer om betingede tagger her.
Topp
Identifisere en sidemal #Identifisere en sidemal
Hvis malen din bruker body_class()
-funksjonen, WordPress vil skrive ut klasser i body
-koden for posttypen klasse navn (page
), sidens ID (page-id-{ID}
), og sidemalen som brukes. For standard page.php
er generert klassenavn page-template-default
:
<body class="page page-id-6 page-template-default">
Når du bruker en tilpasset sidemal, vil klassen page-template
skriv ut, sammen med en klasse som navngir den spesifikke malen. Hvis for eksempel den tilpassede sidemalefilen din blir navngitt som følger:
<?php/* Template Name: My Custom Page */?gt;
Så blir gjengitt generert HTML som følger:
<body class="page page-id-6 page-template page-template-my-custom-page-php">
Legg merke til page-template-my-custom-page-php
klasse som brukes på body
-taggen.
Topp
Funksjoner for sidemal #Page Template Functions
Disse innebygde WordPress-funksjonene og metodene kan hjelpe deg med å jobbe med sidemaler:
-
get_page_template()
returnerer banen til sidemalen som ble gjengitt for siden. -
wp_get_theme()->get_page_templates()
returnerer alle tilpassede sidemaler som er tilgjengelige for det aktive temaet (get_page_templates()
er en metode forWP_Theme
klassen). -
is_page_template()
returnerer sant eller usant, avhengig av om en egendefinert sidemal ble brukt til å gjengi siden. -
get_page_template_slug()
r vinner verdien av egendefinert felt_wp_page_template
(null
når verdien er tom eller «standard»). Hvis en side er tildelt en egendefinert mal lagres filnavnet til den malen som verdien til et tilpasset felt med navnet"_wp_page_template"
(iwp_postmeta
databasetabellen). (Egendefinerte felt som begynner med understreking vises ikke i redigeringsskjermens tilpassede feltmodul.)