Alle mulige HTML-elementer skal designes efter dit tema (medmindre det er et underordnet tema), både i indlæg / sideindhold og i co Indhold.
- Tabeller, billedtekster, billeder, lister, blokering af citater osv.
Det anbefales stærkt at tilføje printvenlige stilarter.
- Du kan medtage et udskrivningsark med media = “print” eller tilføje i en udskriftsmedieblok i dit hovedformatark.
Funktionsfil
Et tema kan valgfrit bruge en funktionsfil, der findes i underunderkataloget for temaet og kaldes functions.php. Denne fil fungerer grundlæggende som et plugin, og hvis den er til stede i det tema, du bruger, indlæses den automatisk under WordPress-initialisering (både til admin-sider og eksterne sider). Foreslåede anvendelser til denne fil:
- Indstil temaformatark og scripts. Se wp_enqueue_scripts.
- Aktiver temafunktioner som sidebjælker, navigationsmenuer, post-miniaturer, postformater, brugerdefinerede overskrifter, brugerdefinerede baggrunde og andre.
- Definer funktioner, der bruges i flere skabelonfiler i din tema.
- Opret en indstillingsmenu, der giver webstedsejere muligheder for farver, typografier og andre aspekter af dit tema.
Standard WordPress-temaet indeholder en funktion. php-fil, der definerer mange af disse funktioner, så du måske ønsker at bruge den som en model. Da functions.php dybest set fungerer som et plugin, er listen Function_Reference det bedste sted at gå for at få flere oplysninger om, hvad du kan gøre med denne fil.
Bemærk for at beslutte, hvornår du vil tilføje funktioner til functions.php eller til et specifikt plugin: Det kan være, at du har brug for den samme funktion for at være tilgængelig for mere end et overordnet tema. Hvis det er tilfældet, skal funktionen oprettes i et plugin i stedet for en functions.php for det specifikke tema. Dette kan omfatte skabelontags og andre specifikke funktioner. Funktionerne i plugins kan ses af alle temaer.
Skabelonfiler
Skabeloner er PHP-kildefiler, der bruges til at generere de sider, som besøgende anmoder om, og udgives som HTML. Skabelonfiler består af HTML-, PHP- og WordPress-skabelontags.
Lad os se på de forskellige skabeloner, der kan defineres som en del af et tema.
WordPress giver dig mulighed for at definere separate skabeloner til de forskellige aspekter af dit websted. Det er ikke dog vigtigt at have alle disse forskellige skabelonfiler, så dit websted fungerer fuldt ud. Skabeloner vælges og genereres baseret på skabelonhierarkiet, afhængigt af hvilke skabeloner der er tilgængelige i et bestemt tema.
Som tema udvikler, kan du vælge den mængde tilpasning, du vil implementere ved hjælp af skabeloner. F.eks. kan du som et ekstremt tilfælde kun bruge en skabelonfil, kaldet index.php som skabelon til alle sider, der genereres og vises af webstedet. mere almindelig anvendelse er at få forskellige skabelonfiler til at generere forskellige resultater for at muliggøre maksimal tilpasning.
Skabelonfilerliste
Her er listen over de temafiler, der genkendes af WordPress. Selvfølgelig dit tema kan indeholde andre stilark, billeder eller filer. Bare husk at følgende har særlig betydning for WordPress – se skabelonhierarki for mere information.
style.css Hovedformatet. Dette skal inkluderes i dit tema, og det skal indeholde informationsoverskriften til dit tema. rtl.css rtl-stilarket. Dette medtages automatisk, hvis webstedets tekstretning er højre mod venstre. Dette kan genereres ved hjælp af RTLer-pluginet. Index.php Hovedskabelonen. Hvis dit tema giver sine egne skabeloner, skal index.php være til stede. comments.php Kommentareskabelonen front-page.php Forsiden skabelon home.php Startside-skabelonen, som er forsiden som standard.Hvis du bruger en statisk forside, er dette skabelonen til siden med de seneste indlæg. single.php Skabelonen til enkelt post. Bruges, når et enkelt indlæg bliver forespurgt. I denne og alle andre forespørgselsskabeloner bruges index.php, hvis forespørgselsskabelonen ikke er til stede. single- {post-type} .php Den enkelt postskabelon, der bruges, når der spørges om et enkelt indlæg fra en tilpasset posttype. For eksempel vil single-book.php bruges til at vise enkeltindlæg fra den brugerdefinerede posttype med navnet “bog”. index.php bruges, hvis forespørgselsskabelonen til den tilpassede posttype ikke er til stede. page.php Sideskabelonen. Bruges, når der spørges om en enkelt side. category.php Kategoriskabelonen. Anvendes, når en kategori forespørges. tag.php Tagskabelonen. Anvendes, når der forespørges om et tag. taxonomy.php Begrebet skabelon. Bruges, når der sættes spørgsmålstegn ved et udtryk i en brugerdefineret taksonomi. author.php Forfatterskabelonen. Bruges, når en forfatter bliver forespurgt. date.php Dato / tidsskabelonen. Bruges, når der forespørges om en dato eller et klokkeslæt. År, måned, dag, time, minut, sekund. archive.php Arkivskabelonen. Bruges, når der forespørges om en kategori, forfatter eller dato. Bemærk, at denne skabelon bliver tilsidesat af category.php, author.php og date.php for deres respektive forespørgselstyper. search.php Skabelonen til søgeresultater. Bruges, når der foretages en søgning. attachment.php Vedhæftningsskabelon. Bruges til visning af en enkelt vedhæftet fil. image.php Billedvedhæftningsskabelon. Bruges ved visning af en enkelt vedhæftet fil. Hvis den ikke findes, vil attachment.php blive brugt. 404.php 404 Not Found-skabelonen. Brugt, når WordPress ikke kan finde et indlæg eller en side, der matcher forespørgslen.
Disse filer har en særlig betydning med hensyn til WordPress, fordi de bruges som erstatning for index.php, når de er tilgængelige, i henhold til skabelonhierarkiet, og når det tilsvarende betingede tag returnerer sandt. For eksempel, hvis kun et enkelt indlæg vises, returnerer funktionen is_single () “true”, og hvis der er en single.php-fil i det aktive tema, bruges den skabelon til at generere siden.
Grundlæggende skabeloner
I det mindste består et WordPress-tema af to filer:
Begge disse filer går ind i temabiblioteket. Index.php-skabelonfilen er meget fleksibel. Det kan bruges til at inkludere alle referencer til sidehoved, sidebjælke, sidefod, indhold, kategorier, arkiver, søgning, fejl og enhver anden side, der oprettes i WordPress.
Eller den kan opdeles i modulopbygget skabelon filer, hvor hver enkelt påtager sig en del af arbejdsbyrden. Hvis du ikke leverer andre skabelonfiler, kan WordPress muligvis have standardfiler eller funktioner til at udføre deres job. For eksempel, hvis du ikke angiver en søgeform.php-skabelonfil, har WordPress en standardfunktion til at vise søgeformularen.
Typiske skabelonfiler inkluderer:
- kommentarer. php
- comments-popup.php
- footer.php
- header.php
- sidebar.php
Ved hjælp af disse skabelonfiler kan du placere skabelontags i index.php-masterfilen for at inkludere disse andre filer, hvor du vil have dem til at blive vist på den endelige genererede side.
Her er et eksempel på inkluderer brug:
<?php get_sidebar(); ?><?php get_footer(); ?>
Standardfilerne for nogle skabelonfunktioner kan være udfaset eller ikke til stede, og du skal angive disse filer i dit tema. Fra version 3.0 findes de forældede standardfiler i wp-includes/theme-compat
. For eksempel skal du angive header.php for at funktionen get_header () skal fungere sikkert, og comments.php for funktionen comments_template ().
For mere om, hvordan disse forskellige skabeloner fungerer, og hvordan man genererer forskellige information inden for dem, skal du læse skabelondokumentationen.
Tilpassede sideskabeloner
Filerne, der definerer hver sideskabelon, findes i dit tema-bibliotek. For at oprette en ny tilpasset sideskabelon til en side skal du oprette en fil. Lad os kalde vores første sideskabelon til vores side snarfer.php. Øverst i snarfer.php-filen skal du placere følgende:
<?php/*Template Name: Snarfer*/?>
Ovenstående kode definerer denne snarfer.php-fil som “Snarfer” -skabelonen. Naturligvis kan “Snarfer” erstattes med mest enhver tekst for at ændre navnet på sideskabelonen. Dette skabelonnavn vises i Theme Editor som linket til redigering af denne fil.
Filen kan navngives næsten alt med en .php-udvidelse (se reserverede temafilnavne til filnavne, du ikke bør bruge; disse er specielle filnavne, som WordPress forbeholder sig til specifikke formål).
Det, der følger de ovennævnte fem linjekoder, er op til dig. Resten af koden, du skriver, styrer, hvordan sider, der bruger Snarfer-sideskabelonen, vises. Se Skabelontags for en beskrivelse af de forskellige WordPress-skabelonfunktioner du kan bruge til dette formål. Det kan være mere bekvemt at kopiere en anden skabelon (måske page.php eller index.php) til snarfer.php og derefter tilføj ovenstående fem linier med kode til begyndelsen af filen.På den måde skal du kun ændre HTML- og PHP-koden i stedet for at oprette det hele fra bunden. Eksempler er vist nedenfor. Når du har oprettet en sideskabelon og placeret den i dit temas bibliotek, vil den være tilgængelig som et valg, når du opretter eller redigerer en side. (Bemærk: Når du opretter eller redigerer en side, vises indstillingen Sideskabelon ikke, medmindre der er mindst en skabelon defineret på ovenstående måde.)
Forespørgselsbaserede skabelonfiler
WordPress kan indlæse forskellige skabeloner til forskellige forespørgselstyper. Der er to måder at gøre dette på: som en del af det indbyggede skabelonhierarki og gennem brug af betingede tags inden for sløjfen af en skabelonfil.
For at bruge skabelonhierarkiet skal du grundlæggende angive skabelonfiler til specielle formål, som vil automatisk blive brugt til at tilsidesætte index.php. Hvis f.eks. dit tema indeholder en skabelon kaldet category.php og en kategori bliver forespurgt, indlæses category.php i stedet for index.php. Hvis category.php ikke er til stede, index.php bruges som normalt.
Du kan blive endnu mere specifik i skabelonhierarkiet ved at give af ile kaldes for eksempel kategori-6.php – denne fil vil blive brugt i stedet for category.php når du genererer siden til den kategori, hvis ID-nummer er 6. (Du kan finde kategori-ID-numre i Administrer > Kategorier, hvis du er logget ind som webstedsadministrator i WordPress version 2.3 og derunder. I WordPress 2.5 blev ID-kolonnen fjernet fra administratorpanelerne. Du kan finde kategori-id’et ved at klikke på “Rediger kategori” og se på URL-adresselinjen for cat_ID-værdien. Det vil se “… categories.php? Action = edit & cat_ID = 3” hvor “3” er kategori-id). Se Kategoriskabeloner for et mere detaljeret kig på, hvordan denne proces fungerer.
Hvis dit tema skal have endnu mere kontrol over, hvilke skabelonfiler der bruges, end hvad der er angivet i skabelonhierarkiet, kan du bruge Betinget Mærker. Det betingede tag kontrollerer grundlæggende for at se, om en bestemt tilstand er sand inden for WordPress-sløjfen, og så kan du indlæse en bestemt skabelon eller lægge en bestemt tekst på skærmen baseret på den betingelse.
For for eksempel for at generere et særpræget stilark i et indlæg, der kun findes inden for en bestemt kategori, kan koden se sådan ud:
Eller ved hjælp af en forespørgsel kan det se sådan ud:
<?php$post = $wp_query->post;if ( in_category( "9" ) ) { get_template_part( "single2" );} else { get_template_part( "single1" );}?>
I begge tilfælde vil denne eksempelkode få forskellige skabeloner til at blive anvendt afhængigt af kategorien for det bestemte indlæg, der vises. Forespørgselsbetingelser er ikke begrænset til kategorier, men se artiklen Betingede tags for at se på alle mulighederne.
Definition af brugerdefinerede skabeloner
Det er muligt at bruge WordPress-pluginsystemet til at definere yderligere skabeloner, der vises baseret på dine egne brugerdefinerede kriterier. Denne avancerede funktion kan udføres ved hjælp af handlingshaken “template_include”. Flere oplysninger om oprettelse af plugins findes i Plugin API-referencen.
Inkluderende skabelonfiler
Sådan indlæses en anden skabelon (undtagen header, sidebar, sidefod, som har foruddefinerede inkluderede kommandoer som get_header ()) i en skabelon, kan du bruge get_template_part (). Dette gør det let for et tema at genbruge sektioner med kode.
Henvisning til filer fra en skabelon
Når du henviser til andre filer inden for det samme tema, skal du undgå hårdkodede URI’er og filstier. I stedet henvis URI’erne og filstierne med bloginfo (): se Henvisning til filer fra en skabelon.
Bemærk, at URI’er, der bruges i typografiarket, er i forhold til typografiarket, ikke den side, der refererer til typografiarket. Hvis du f.eks. Inkluderer et billede / bibliotek i dit tema, behøver du kun angive denne relative mappe i CSS, som sådan:
h1 { background-image: url(images/my-background.jpg);}
Plugin API-kroge
Når du udvikler temaer, er det godt at huske på, at dit tema skal konfigureres, så det kan fungere godt sammen med alle WordPress-plugins, som brugere muligvis beslutter at installere. Plugins tilføjer funktionalitet til WordPress via “Handling Hooks “(se Plugin API for mere information).
De fleste Action Hooks er inden for kernens PHP-kode på WordPress, så dit tema behøver ikke at have nogen specielle tags for at de kan fungere. Men et par Action Kroge skal være til stede i dit tema, for at Plugins kan vise oplysninger direkte i din sidehoved, sidefod, sidebjælke eller i sidens brødtekst. Her er en liste over de særlige Action Hook-skabelon-tags, du skal medtage:
wp_enqueue_scripts Bruges i temafunktionsfilen. Bruges til at indlæse eksterne scripts og stylesheets. wp_head () Går i < head > element i et tema i header.php. Eksempel på brug af plugin: tilføj JavaScript-kode. wp_footer () Går i footer.php lige før det afsluttende < / body > -tag. Eksempel på plugin-brug: Indsæt PHP-kode, der skal køre efter alt andet, i bunden af sidefoden.Meget almindeligt brugt til at indsætte webstatistikkode, såsom Google Analytics. wp_meta () Går typisk i < li > Meta < / li > sektion i et temas menu eller sidebjælke; sidebar.php-skabelon. Eksempel på brug af plugin: inkluderer en roterende annonce eller en tagsky. Comment_form () Går i comments.php direkte før filen ” s afsluttende tag (< / div >). Eksempel på brug af plugin: vis en forhåndsvisning af en kommentar.
For et eksempel på brug i den virkelige verden finder du disse plugin-kroge inkluderet i standardtemaets skabeloner.
Theme Customization API
Fra og med WordPress 3.4, en ny Tematilpasningsfunktion er som standard tilgængelig for næsten alle WordPress-temaer. Tema-tilpasningsadministratorsiden er automatisk befolket med indstillinger, som et tema erklærer støtte for med add_theme_support () eller ved hjælp af Indstillinger API, og giver administratorer mulighed for at se ikke-permanente forhåndsvisning af ændringer, de foretager i realtid.
Tema- og pluginudviklere, der er interesserede i at tilføje nye indstillinger til temaets tema-tilpasningsside, bør se dokumentationen til Theme Customization API. Yderligere tutorials om Theme Customization API findes på Ottopress.com-webstedet.
Ikke-tillid til data
Du skal undslippe dynamisk genereret indhold i dit tema, især indhold, der sendes til HTML-attributter. Som bemærket i WordPress-kodningsstandarder, skal tekst, der går ind i attributter, køres gennem esc_attr (), så enkelt eller dobbelt anførselstegn slutter ikke attributværdien og ugyldiggør XHTML og forårsager et sikkerhedsproblem. Almindelige steder at kontrollere er attributter for titel, alt og værdi.
Der er få specielle skabelontags til almindelige sager, hvor Der er behov for en sikker output. Et sådant tilfælde involverer udskrivning af en posttitel til en titelattribut ved hjælp af_title_attribute () i stedet for_title () for at undgå en sikkerhedssårbarhed. Her er et eksempel på korrekt undslippe fra titelattributten for et indlægstitellink ved brug af oversættelig tekst:
<a href="<?php the_permalink(); ?>" title="<?php sprintf( __( "Permanent Link to %s", "theme-name" ), the_title_attribute( "echo=0" ) ); ?>"><?php the_title(); ?></a>
Oversættelsessupport / I18n
For at sikre en jævn overgang til sproglokalisering skal du bruge WordPress gettext-baserede i18n-funktioner til at indpakke al oversættelig tekst i skabelonfilerne. Dette gør det lettere for oversættelsesfilerne at tilslutte og oversætte etiketter, titler og anden skabelontekst til webstedets aktuelle sprog. Se mere på WordPress Localization og I18n for WordPress-udviklere.
Temaklasser
Implementér følgende skabelontags for at tilføje WordPress-genererede klasseattributter til body-, post- og kommentarelementer. For postklasser skal du kun anvende på elementer i The Loop.
- body_class ()
- post_class ()
- comment_class ()
Tjekliste for skabelonfiler
Når du udvikler et tema, skal du kontrollere dine skabelonfiler mod følgende skabelonfilstandarder.
Dokumenthoved (header.php)
- Brug den rigtige DOCTYPE.
- Åbningen < html > tag skal indeholde sprogattributter (
- < meta > tegnsætselementet skal placeres før alt andet, inklusive < title > element.
- Brug bloginfo () til at indstille < meta > tegn og beskrivelseselementer.
- Brug wp_title () til at indstille < titel > element. Se hvorfor.
- Brug automatiske feedlinks til at tilføje feedlink.
- Føj et opkald til wp_head () før det afsluttende < / head > -tag. Plugins bruger denne handlingskrog til at tilføje deres egne scripts, typografiark og anden funktionalitet.
- Link ikke temastilarkene i Header-skabelonen. Brug handlingshaken wp_enqueue_scripts i en temafunktion i stedet.
Her er et eksempel på et korrekt formateret HTML5-kompatibelt hovedområde:
Navigationsmenuer (header.php )
- Temaets hovednavigation skal understøtte en brugerdefineret menu med wp_nav_menu ().
- Menuerne skal understøtte lange linktitler og en stor mængde listeelementer. Disse emner bør ikke bryde designet eller layoutet.
- Undermenuemner skal vises korrekt. Hvis det er muligt, understøtter rullemenuformater for undermenuelementer. Drop-downs, der muliggør visning af menudybde i stedet for bare at vise det øverste niveau.
- Temaet skal widgetiseres så fuldt som muligt. Ethvert område i layoutet, der fungerer som en widget (tag cloud, blogroll, liste over kategorier) eller kunne acceptere widgets (sidebjælke), bør tillade widgets.
- Indhold, der vises som standard i widgetiserede områder (hårdkodet) i sidepanelet, for eksempel) skal forsvinde, når widgets er aktiveret fra Udseende > Widgets.
Sidefod (footer.php)
- Brug wp_footer () -kaldet for at blive vist lige før lukning af body-tag.
<?php wp_footer();
read more