WordPress.org (Dansk)
Sideskabeloner er en bestemt type skabelonfil, der kan anvendes på en bestemt side eller grupper af sider.
Bemærk: Fra og med WordPress understøtter 4.7 sideskabeloner alle indlægstyper. For flere detaljer om, hvordan du indstiller en sideskabelon til bestemte indlægstyper, se eksemplet nedenfor.
Da en sideskabelon er en bestemt type skabelonfil, er der nogle kendetegn ved sideskabeloner:
- Sideskabeloner bruges til at ændre en sides udseende og fornemmelse.
- En sideskabelon kan anvendes på en enkelt side, et sideafsnit eller en sideklasse .
- Sideskabeloner har generelt et højt specificitetsniveau, der er målrettet mod en individuel side eller gruppe af sider. For eksempel er en sideskabelon med navnet
page-about.php
mere specifik end skabelonfilernepage.php
ellerindex.php
da det kun påvirker en side med slug af “omkring.” - Hvis en sideskabelon har et skabelonnavn, har WordPress-brugere, der redigerer siden, kontrol over, hvilken skabelon der skal bruges til at gengive siden.
Anvendelser til sideskabeloner #Brug til sideskabeloner
Sideskabeloner viser dit websteds dynamiske indhold på en side, f.eks. indlæg, nyhedsopdateringer, kalenderbegivenheder, mediefiler osv. Du kan beslutte, at du vil have din startside til at se en bestemt måde ud, der adskiller sig meget fra andre dele af dit websted. Eller måske vil du vise et udvalgt billede, der linker til et indlæg på en del af siden har en liste over de nyeste indlæg andre steder, og brug en brugerdefineret navigation. Du kan bruge sideskabeloner til at opnå disse ting.
Dette afsnit viser dig, hvordan du opbygger sideskabeloner, der kan vælges af dine brugere gennem deres admin-skærme.
For eksempel kan du oprette sideskabeloner til:
- fuld bredde, en kolonne
- to-kolonne med et sidebjælke til højre
- to-kolonne med et sidebar til venstre
- tre-kolonne
Top
Sideskabeloner inden for skabelonhierarkiet #Side skabeloner inden for skabelonhierarkiet
Når en person gennemsøger dit websted, vælger WordPress, hvilken skabelon der skal bruges til gengivelse af den side. Som vi lærte tidligere i skabelonhierarkiet, ser WordPress efter skabelonfiler i følgende rækkefølge:
- Sideskabelon – Hvis siden er tildelt en brugerdefineret skabelon, ser WordPress efter den fil, og hvis den findes , bruger det.
-
page-{slug}.php
– Hvis der ikke er tildelt nogen brugerdefineret skabelon, søger WordPress efter og bruger en specialskabelon, der indeholder sidens slug. -
page-{id}.php
– Hvis der ikke findes en specialskabelon, der indeholder sidens slug, søger WordPress efter og bruger en specialskabelon navngivet med sidens id. -
page.php
– Hvis der ikke findes en specialskabelon, der indeholder sidens ID, søger WordPress efter og bruger temaets standardsideskabelon. -
singular.php
– Hvispage.php
ikke findes, søger WordPress efter og bruger temaets skabelon, der bruges til et enkelt indlæg, uanset posttype. -
index.php
– Hvis der ikke er noget specifikt sideskabeloner tildeles eller findes, WordPress bruger som standard tilbage til at bruge temaets indeksfil til at gengive sider.
Advarsel: Der er også en WordPress-defineret skabelon med navnet paged.php
. Det bruges ikke til sidens posttype, men snarere til at vise flere arkiver.
Top
Sideskabeloner Formål & User Control #Page Templates Formål & User Control
Hvis du planlægger at lave en brugerdefineret sideskabelon til dit tema, skal du beslutte et par ting inden du fortsætter:
- Om sideskabelonen vil være til en bestemt side eller til en hvilken som helst side; og
- Hvilken type brugerkontrol du vil have til rådighed for skabelonen.
Hver sideskabelon, der har et skabelonnavn, kan vælges af en bruger, når de opretter eller redigerer en side. Listen over tilgængelige skabeloner kan findes på Sider > Tilføj nyt > Attributter > Skabelon . Derfor kan en WordPress-bruger vælge en hvilken som helst sideskabelon med et skabelonnavn, hvilket måske ikke er din hensigt.
Hvis du f.eks. Vil have en bestemt skabelon til din “Om” -side, er det muligvis ikke være passende at navngive sideskabelonen “Om skabelon”, da den ville være tilgængelig globalt for alle sider (dvs. at brugeren kunne anvende den på enhver side). Opret i stedet en skabelon til engangsbrug, og WordPress gengiver siden med den relevante skabelon, hver gang en bruger besøger siden “Om”.
Omvendt inkluderer mange temaer muligheden for at vælge, hvor mange kolonner en side vil har. Hver af disse indstillinger er en sideskabelon, der er tilgængelig globalt.For at give dine WordPress-brugere denne globale mulighed, skal du oprette sideskabeloner til hver mulighed og give hver et skabelonnavn.
Dikter, om en skabelon er til global brug versus enestående brug opnås forresten filen er navngivet, og om den ikke har en bestemt kommentar.
Bemærk: Nogle gange er det hensigtsmæssigt at have en skabelon tilgængelig globalt, selvom det ser ud til at være en engangssag. Når du opretter temaer til frigivelse, kan det være svært at forudsige, hvad en bruger vil navngive deres sider. Porteføljesider er et godt eksempel, da ikke alle WordPress-brugere navngiver deres portefølje det samme eller har det samme side-id, og alligevel vil de måske bruge den skabelon.
Top
Filorganisation af sideskabeloner #Filorganisation af sideskabeloner
Som diskuteret i Organisering af temafiler genkender WordPress undermappens sideskabeloner. Derfor er det en god ide at gemme dine globale sideskabeloner i denne mappe for at hjælpe med at holde dem organiseret.
Advarsel: En specialsideskabelonfil (dem, der oprettes til kun én gangs brug) kan ikke være i en undermappe eller, hvis du bruger et underordnet tema, i forældretemaets mappe.
Top
Oprettelse af brugerdefinerede sideskabeloner til global brug #Oprettelse af tilpassede sideskabeloner til global brug
Nogle gange vil du have en skabelon, der kan bruges globalt af en hvilken som helst side eller af flere sider. Nogle udviklere vil gruppere deres skabeloner med et filnavnpræfiks, såsom page_two-columns.php
Advarsel: Vigtigt! Brug ikke page-
som et præfiks, da WordPress fortolker filen som en specialskabelon, der kun skal anvendes på en side på dit websted.
Se Reserverede temafilnavne for oplysninger om konventionelle filnavngivelser og filnavne til temaer.
Tip: En hurtig, sikker metode til oprettelse af en ny sideskabelon er at lave en kopi af page.php
og give den nye fil et særskilt filnavn. På den måde starter du med HTML-strukturen på dine andre sider, og du kan redigere den nye fil efter behov.
For at oprette en global skabelon skal du skrive en indledende PHP-kommentar øverst på filen, der angiver skabelonens navn.
<?php /* Template Name: Example Template */ ?>
Det er en god idé at vælg et navn, der beskriver, hvad skabelonen gør, da navnet er synligt for WordPress-brugere, når de redigerer siden. For eksempel kan du navngive din skabelons hjemmeside, blog eller portefølje.
Dette eksempel fra temaet TwentyFourteen opretter en sideskabelon kaldet Fuld bredde-side:
<?php/*** Template Name: Full Width Page** @package WordPress* @subpackage Twenty_Fourteen* @since Twenty Fourteen 1.0*/
Når du uploader filen til dit temas mappe (f.eks. side- skabeloner), skal du gå til siden > Rediger skærm i dit admin-dashboard.
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.
Top
Oprettelse af en brugerdefineret sideskabelon til en bestemt side # Oprettelse af en brugerdefineret sideskabelon til en bestemt side
Som nævnt på siden Skabelonhierarki kan du oprette en skabelon til en bestemt side. For at oprette en skabelon til en bestemt side skal du kopiere din eksisterende page.php
-fil og omdøbe den med din sides slug eller ID:
-
page-{slug}.php
-
page-{ID}.php
For eksempel: Din About-side har en slug af omkring og et ID på 6. Hvis mappen til dit aktive tema har en fil med navnet page-about.php
eller page-6.php
, så finder WordPress automatisk og bruger den fil for at gengive siden Om.
For at kunne bruges skal specialsideskabeloner være i dit temas mappe (dvs. / wp-indhold / temaer / mit tema-navn /).
Top
Oprettelse af sideskabeloner til bestemte indlægstyper # Oprettelse af sideskabeloner til bestemte indlægstyper
Som standard vil en brugerdefineret sideskabelon være tilgængelig for indlægstypen “side”.
Hvis du vil oprette en sideskabelon til bestemte posttyper, skal du tilføje en linje under skabelonnavnet med de posttyper, som skabelonen skal understøtte.
Eksempel:
<?php/*Template Name: Full-width layoutTemplate Post Type: post, page, event*/// Page code here...
Alert: Denne mulighed for at tilføje sideskabeloner til indlægstyper andet end “side” posttype understøttes kun fra WordPress 4.7
Når der findes mindst en skabelon til en posttype, vises metafeltet Postattributter i bagenden, uden behov for at tilføje understøttelse af posttype til side-attributter eller andet. Etiketten Postattributter kan tilpasses pr. Posttype ved hjælp af attributter -etiketten, når du registrerer en posttype.
Bagudkompatibilitet:
Lad os sige, at du offentligt vil frigive et tema med support til indlægstypeskabeloner. WordPress-versioner før 4.7 ignorerer skabelonposttypeoverskriften og viser skabelonen på listen over sideskabeloner, selvom den kun fungerer for almindelige indlæg.For at forhindre det kan du tilslutte filteret theme_page_templates for at udelukke det fra listen. Her er et eksempel:
Udvid fuld kildekodeKollaps fuld kildekode
På den måde kan du understøtte brugerdefineret indlæg skriv skabeloner i WordPress 4.7 og derover, mens du opretholder fuld bagudkompatibilitet.
Bemærk, at theme_page_templates faktisk er et dynamisk tema _ {$ post_type} _templates filter. Den dynamiske del af krognavnet, $ post_type, refererer til den posttype, der understøttes af skabelonerne. For eksempel. du kan tilslutte dig tema_product_templates for at filtrere listen over skabeloner til produktposttypen.
Top
Brug af betingede tags i sideskabeloner #Brug af betingede tags i sideskabeloner
Du kan foretage mindre, sidespecifikke ændringer med betingede tags i dit temas page.php
-fil. F.eks. Indlæser nedenstående eksempelkode filen header-home.php
til din forside, men indlæser en anden fil (header-about.php
) til din About-side, og anvender derefter standard header.php
på 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 mere om betingede tags her.
Top
Identificering af en sideskabelon #Identificering af en sideskabelon
Hvis din skabelon bruger body_class()
-funktionen, WordPress udskriver klasser i body
-tagget for posttypen klasse navn (page
), sidens ID (page-id-{ID}
) og den anvendte sideskabelon. For standard page.php
er det genererede klassenavn page-template-default
:
<body class="page page-id-6 page-template-default">
Når du bruger en brugerdefineret sideskabelon, vil klassen page-template
udskriv sammen med en klasse, der navngiver den specifikke skabelon. Hvis din brugerdefinerede sideskabelonfil f.eks. Er navngivet:
<?php/* Template Name: My Custom Page */?gt;
Derefter vil gengivet genereret HTML være som følger:
<body class="page page-id-6 page-template page-template-my-custom-page-php">
Bemærk page-template-my-custom-page-php
klasse, der anvendes på body
tag.
Top
Sideskabelonfunktioner #Page Template Funktioner
Disse indbyggede WordPress-funktioner og metoder kan hjælpe dig med at arbejde med sideskabeloner:
-
get_page_template()
returnerer stien til den sideskabelon, der blev brugt til at gengive siden. -
wp_get_theme()->get_page_templates()
returnerer alle tilgængelige tilpassede sideskabeloner til det aktuelt aktive tema (get_page_templates()
er en metode tilWP_Theme
klassen). -
is_page_template()
returnerer sand eller falsk afhængigt af om der blev brugt en tilpasset sideskabelon til at gengive siden. -
get_page_template_slug()
r angiver værdien af brugerdefineret felt_wp_page_template
(null
når værdien er tom eller “standard”). Hvis en side er tildelt en brugerdefineret skabelon, gemmes filnavnet på skabelonen som værdien af et brugerdefineret felt med navnet"_wp_page_template"
(iwp_postmeta
databasetabellen). (Brugerdefinerede felter, der starter med en understregning, vises ikke i redigeringsskærmens tilpassede feltmodul.)