Opprette et tema for WordPress. Hvorfor trenger du WordPress-temaer Din egen mal for WordPress?

Selvfølgelig, før du lager et tema for WordPress, kan du prøve å forstå de ferdige (det var det jeg gjorde). Men faktum er at noen ganger er det så mye stoff i dem at det ikke alltid er lett.

Grunnlaget for ethvert tema er style.css- og index.php-filene

Først, lag en mappe i /wp-content/themes - dette vil være ditt fremtidige tema, for eksempel opprettet jeg misha123. Hvert tema må inneholde minst 2 filer - index.php og style.css - lag dem i denne mappen.

Hvis du scoret på style.css, så i administrasjonspanelet Utseende > Temaer forvent en feil som dette:

Hvis du scoret på index.php:

Her snakker WordPress fortsatt noe om barnetemaer, ikke ta hensyn, du .

Inntil vi har studert det ennå, vil index.php være ansvarlig for produksjonen av en hvilken som helst side på nettstedet, og style.css vil selvfølgelig inneholde stiler (selv om dette ikke er nødvendig), men det viktigste er at i style.css fil du har lagt til metadata og emnebeskrivelse.

Temanavn Navnet på temaet, har jeg rett? Versjon Gjeldende versjon av temaet ditt Beskrivelse Jeg vet ikke hva denne parameteren betyr Forfatter Her kan du angi deg selv og de personene som hjalp deg Forfatter-URI-URL til forfatterens nettsted, vil tillate deg å gjøre forfatterens navn om til en lenke i WordPress admin-lisens Hvis du oppretter for WordPress, anbefaler jeg å lese litt om GPL-lisens-URI. Og denne parameteren spesifiserer en lenke til siden med tekstdomenelisensen Noe relatert til å oversette emnet til andre språk, jeg tror vi ikke trenger det nå, men senere anbefaler jeg å lese om det. Tagger Hvis dette temaet blir ditt fremtidige nettsted eller nettstedet til klienten din, kan du mest sannsynlig hoppe over denne parameteren, men hvis du senere vil publisere temaet ditt i det offisielle WordPress-depotet, så vær spesielt oppmerksom på det. Nei, du trenger ikke å kaste alt du tenker på her; listen over støttede tagger finner du på den offisielle nettsiden.

Faktisk er ingen av disse parameterne påkrevd! Og så vil alt gå. For eksempel som her:

Jeg utelukker ikke at dette alternativet passer for noen, men ikke meg. Nå skal jeg bare kopiere den forrige koden til begynnelsen av temaets style.css, og dette er hva jeg får:

Innstilling av temabilde

Enig, sammenlignet med andre temaer ser vårt ganske kjedelig ut på grunn av mangelen på et bilde! Rutene flimrer også når du scroller 😭

For å fikse dette, lager vi ganske enkelt en screenshot.png-fil og sender den direkte til temamappen (anbefalt oppløsning 1200px x 900px).

Når det gjelder filtypen, vil jpg, gif og jpeg gjøre det, men den offisielle WP-koden anbefaler å bruke screenshot.png.

Her er en annen ting:

I dette eksemplet tok jeg spesifikt et kvadratisk bilde i jpg-format og det vises ganske godt på siden med alle emnene, men hvis du åpner informasjon om emnet i popup-vinduet blir det trist. Bildet vil bli strukket og vil ha dårlig kvalitet.

Selv om det ikke er obligatorisk, er faktisk hovedtemafilen functions.php

Det er vanskelig å forestille seg et tema for WordPress som ikke har en functions.php-fil, det brukes til å inkludere noen funksjoner i temaet, for eksempel kan det også inneholde ekstra funksjonalitet, eller filer inkludert i det via include() /; krever ().

Å ja, nevnte jeg ikke? I denne opplæringen vil jeg anta at du har grunnleggende kunnskap om PHP, hvis ikke så .

Hovedregelen for functions.php er at selve filen ikke skal sende ut noe! 💀 Det vil si aldri! 👿

Som du kan se, spesifiserte jeg ganske enkelt kodingen, satte inn stilarket, men ikke helt riktig, og skrev "Hallo verden!"

Du kan ikke kalle det et dynamisk nettsted, men du må begynne et sted. Som jeg sa, på dette stadiet vil denne filen åpnes på alle sidene på nettstedet ditt.

Og en ting til, for å hjelpe WordPress med å samhandle med temaet ditt, bør du legge til før den avsluttende taggen funksjon og før den avsluttende taggen

funksjon, vil det se omtrent slik ut:

Hei Verden!

Når jeg lager et tema er det hyggeligste for meg å dele opp layouten i sidetopp, bunntekst og alt annet, hvoretter headerkoden sendes til header.php-filen og kobles senere sammen med funksjonen, siden. bunntekstkode sendes til bunntekstfilen .php og kobles deretter til med . La oss komme i gang.

header.php

Vi prøver å inkludere i overskriften det som gjentas på alle sidene på nettstedet, eller nesten alle.

Denne artikkelen vil vise deg hvordan du lager det enkleste WordPress-temaet. Selv om Codex gir omfattende dokumentasjon om dette emnet, synes jeg det er litt komplisert for en nybegynner. Derfor vil jeg i denne "veiledningen" fortelle deg prinsippene for hvordan WordPress-temaer fungerer og vise deg hvordan du tilpasser en rå HTML-mal til dem. Samtidig kreves det ikke at du kan PHP, men det er bra om du kan Photoshop og CSS for å lage et design.

1. Blogggrensesnitt

Før vi setter i gang, la oss ta en titt på et standard WordPress-tema og forstå hva det består av. La oss merke elementene (topptekst, innleggstittel, søkeskjema, navigasjon, bunntekst osv.).

Standard forside ( index.php)

Standard enkeltrom ( singel.php)

2. Photoshop-oppsett

Basert på utseendet og følelsen til standardtemaet, design Photoshop-oppsett for bloggen din. For eksempel bruker jeg GlossyBlue, et av mine gratis temaer. Last ned demo.zip for å se den ferdige Photoshop-filen.

3. HTML og CSS

Når PSD-designet er klart, lag en HTML+CSS-mal for hver side. Ved å følge trinnene i denne opplæringen kan du bruke mine GlossyBlue HTML-filer fra demo.zip. Etter å ha pakket ut arkivet, vil du se index.html, single.html Og side.html. Deretter skal jeg bruke dem til å gjøre dem om til en mal.

Hvorfor lage statisk HTML først? Dette er hovedsakelig fordi det vil forenkle utviklingsprosessen betraktelig. Vanligvis lager jeg en HTML-fil for hver mal, kontrollerer gyldigheten (HTML og CSS-markering) i alle nettlesere. Etter det er det bare å klippe og lime inn WordPress-koden. Så du trenger ikke lenger å bekymre deg for feil i HTML eller CSS.

4. Hvordan fungerer et WordPress-tema?

Hvis du går til standard temamappe ( wp-content/themes/default), vil du se mange php-filer (kalt malfiler) og én fil style.css. WordPress bruker vanligvis flere malfiler ( index.php , header.php, sidebar.php, Og bunntekst.php).

Flere detaljer i Codex: "Site Architecture" og "Template Hierarchy".

5. Dupliser malfiler

Kopier HTML-mappen fra GlossyBlue til mappen wp-innhold/temaer. Etter det, gå til standard temakatalog, kopier comments.php Og søkeform.php til en mappe blankblå.

6. Style.css

Gå til standard temamappen, åpne filen style.css. Kopier den kommenterte teksten i begynnelsen av filen og lim den inn style.css GlossyBlue-temaer. Hvis du vil, kan du endre tittel og forfatterinformasjon.

7. Filseparasjon

Nå må vi finne ut hvor vi skal dele HTML-filene i deler: header.php , sidebar.php og footer.php. Skjermbildet nedenfor viser en forenklet versjon av indeksfilen min, samt prinsippet for dens inndeling.

8.Header.php

Åpen index.html. Du må kutte delen fra toppen til der den slutter, lime den inn i en ny php-fil og lagre som header.php.
Gå til standard temamappe, åpne ny header.php. Kopier og erstatt tagger der php-koden krever det: tittel, lenke, stilark, h1 og div class=description.

Navigasjonsmeny (wp_list_pages) Bytt ut tagger li V ul id=nav på ;

9. Sidebar.php

Tilbake til index.html, kutt koden fra der den starter form id=søkeskjema og til merket lukkes div id=sidefelt, legg den inn i en ny php-fil og lagre som sidebar.php.

  • Erstatte form id=søkeskjema med alt innhold på.
  • Bytt ut tagger li kategorier etter
  • Bytt ut tagger li arkiver på

10. Footer.php

Tilbake til index.html. Trekk ut koden derfra div id=bunntekst inkludert med div id=footer-taggen og til slutten /html så legg den i en ny bunntekst.php.

Siste innlegg Her brukte jeg query_post for å vise de 5 siste blogginnleggene.

"Siste kommentarer""Siste kommentarer" generert av plugin (inkludert i temamappen)

11. Index.php

Nå i din index.html skal bare bli div id=innhold. Lagre filen som index.php. Skriv inn linjene: get_header, get_sidebar, Og get_footer i den rekkefølgen de vises i mønsteret.

12. Parsing av syklusen

Løkken viser blogginnlegg sekvensielt basert på innstillingene dine. Skjermbildet nedenfor illustrerer hvordan det fungerer. Til å begynne med sjekker loopen for tilstedeværelse av poster, og hvis den ikke finner noen, viser den en melding "Ikke funnet".

13. Kopiere en syklus

Gå til standard temakatalog, åpne index.php. Kopier syklusen fra standarden index.php i ditt eget - mellom div id=innhold../div. Deretter erstatter du den statiske teksten med WordPress-malkoder: postdato, tittel, kategori, kommentarer, neste og forrige lenke.

14. Forhåndsvisning av tema

Gratulerer! Du har opprettet den offentlige delen (hoveddelen av malen). Gå nå til administrasjonspanelet, gå til fanen Design, bør du se GlossyBlue-temaet. Aktiver den og gå til den offentlige delen for å se resultatet i aksjon.

15. Singel.php

Det er på tide å lage en mal singel.php. Hvis du vil, kan du gjenta trinnene, overføre koden fra standardtemaet. Men det virker lettere for meg å bruke den jeg nettopp har laget index.php, lagrer den som singel.php. Åpen singel.php fra standardtemaet og kopier malkodene til de nødvendige stedene. Koble deretter til comments_template. Følgende skjermbilde viser endringene jeg gjorde:

16.Page.php

Nå ny singel.php lagre med navn side.php. Fjern datoen for påmelding, kommentarskjema, neste/forrige lenker. Det er det, det er alt - malen din side.php klar .

17. Fjerne HTML-filer

Fjern alle HTML-filer fra mappen blankblå(vi trenger dem ikke lenger). Teknisk sett er dette nok til å lage et grunnleggende WordPress-tema. Du har kanskje lagt merke til at standardtemaet har flere PHP-filer. Vel, faktisk trenger du dem ikke hvis du vil ha et enkelt tema. For eksempel hvis search.php eller 404.php ikke vil være i temamappen, vil WordPress automatisk bruke index.php for å vise siden. Les malhierarki for mer informasjon.

18. WordPress-sidemal

Nå for det siste eksemplet skal jeg vise deg hvordan du bruker sidemal for å lage en arkivside som vil inneholde en liste over alle innleggene på bloggen din (nyttig for et nettstedskart). Kopiere archives.php fra standard temamappen. Fjern den unødvendige koden og få noe sånt som dette:

WordPress-temaer består av filer og stiler som sammen definerer utseendet og følelsen til nettstedet. De kan være svært forskjellige fra hverandre, slik at brukerne raskt kan endre utformingen av nettstedet. Men hvorfor trenger du kanskje ditt eget tema?

  • For å lage ditt eget unike nettsteddesign.
  • For å bruke , og for å vise forskjellig innhold og sidestiler.
  • For å lage alternative maler for spesielle deler av nettstedet, for eksempel kategorisider og søkeresultater.
  • For raskt å bytte mellom to nettstedsoppsett, eller for å la brukere endre utseendet på nettstedet ditt.
  • For å gjøre temaet ditt offentlig og la andre nyte designet ditt.

Et WordPress-tema gir også noen fordeler.

  • Den skiller presentasjonsstiler fra systemfiler, slik at oppdateringer kan gjøres uten store endringer i utseendet til nettstedet.
  • Den lar deg tilpasse temaspesifikke utdataalternativer.
  • Med den kan du raskt endre utseendet til et WordPress-nettsted.
  • Takket være det er det ikke nødvendig for brukeren å lære CSS, HTML og PHP for å gjøre nettstedet attraktivt.

Men hvorfor skal du lage ditt eget tema? Det er hovedspørsmålet.

  • Dette er en mulighet til å lære mer om CSS, HTML/XHTML og PHP.
  • Dette er en mulighet til å vise frem dine ferdigheter innen CSS, HTML/XHTML og PHP.
  • Dette er en mulighet til å skape.
  • Det er moro (for det meste).
  • Hvis du har gjort temaet ditt offentlig, vil du få gleden av å dele og gi noe tilbake til WordPress-fellesskapet (du kan skryte!)

Standarder for å lage temaer

Når du koder WordPress-temaer, må du følge følgende standarder:

  • Bruk korrekt strukturert, feilfri PHP-kode og gyldig HTML-kode (se).
  • Bruk riktig komponert, gyldig CSS-kode (se).
  • Følg anbefalingene for.

Anatomiske emner

WordPress-temaer er plassert i underkatalogen wp-content/themes/. Temakatalogen inneholder stilark, en ekstra funksjonsfil (functions.php) og bilder. For eksempel vil et tema kalt "test" sannsynligvis være plassert i wp-content/themes/test/-katalogen.

Som standard kommer WordPress med tre temaer laget av Wordpress-utviklingsteamet: "Twenty Fifteen", "Twenty Sixteen" og "Twenty Seventeen". Disse temaene skiller seg fra hverandre og bruker forskjellige funksjoner og koder for å skape utseendet og følelsen til sidens sider. Ta en nærmere titt på komponentfilene deres for bedre å forstå hvordan du lager ditt eget tema.

Et WordPress-tema består av tre hovedfiltyper, i tillegg til bilder. Den første er et stilark kalt style.css, som kontrollerer utseendet til sidene på nettstedet. Den andre gir en ekstra funksjonalitetsfil (functions.php). De resterende filene er malfiler som definerer hvordan informasjon fra databasen vises på nettsiden. La oss se på hver type separat.

Tema stilark

I tillegg til temaets faktiske stilark, style.css-filen Nødvendigvis bør inneholde informasjon om emnet ditt i form av kommentarer. Hvert emne bør ha sin egen unike informasjon i topptekstkommentarene, ellers vil det oppstå problemer i . Når du oppretter et nytt emne basert på et eksisterende, må du først endre tittelkommentarene.

Nedenfor er en overskriftsmal for stilark for Rose-temaet ditt. Den skal være plassert i begynnelsen av style.css-filen, på de første linjene:

/* Temanavn: Rose Tema-URI: tema-hjemmeside Beskrivelse: kort-beskrivelse-av-tema Forfatter: ditt-navn Forfatter-URI: din-URI Mal: ​​skrive-overordnet-tema-navn-her-valgfritt-felt Versjon: versjon: versjon -nummer er et valgfritt felt. Detaljert beskrivelse av emnet/lisens hvis nødvendig. . */

Det enkleste temaet inkluderer bare en style.css-fil pluss bilder om nødvendig. For å lage et slikt tema, må du spesifisere navnet på det overordnede temaet i maltittellinjen: For eksempel, hvis "Rose"-temaet ditt kommer fra (arver) "test"-temaet, skriv følgende linje i style.css-overskriften:

Mal: test

Ved å legge til denne linjen i style.css-overskriften, vil alle maler i "test"-temaet bli arvet av "Rose"-temaet ditt, som ikke inneholder annet enn en stilarkfil kalt style.css og muligens noen bilder. Disse filene må plasseres i katalogen wp-content/themes/Rose.

Siden WordPress 2.7 kan et undertema inneholde malfiler hvis navn er de samme som malnavnene i overordnet tema, i administrasjonspanelet kan du velge disse malene som skal brukes, og de vil bli brukt i stedet for de overordnede.

Kommentarene i style.css-overskriften trengs av WordPress for å identifisere temaet og vise det i undermenyen > som et installert tema, sammen med andre installerte temaer.

Merk : Når du definerer et overordnet tema i kommentarlinjen Mal: ​​må du bruke navnet på temaets katalog. For eksempel, for å bruke "Standard Wordpress Theme", ikke skriv

Mal: WordPress standard

og skrive

Mal: standard

siden "default" er navnet på det overordnede temaets katalog.

Fil med tilleggsfunksjonalitet

Temaet kan i tillegg bruke en fil med de nødvendige funksjonene for at temaet skal fungere; Denne filen fungerer i utgangspunktet som en plugin, og hvis den er til stede i temakatalogen du bruker, blir den automatisk lastet under WordPress initialisering. Dette gjelder både for admin-sidene og for andre (eksterne til admin-sidene). Følgende bruksområder for denne filen er foreslått:

  • Definer funksjonene som brukes i temaets malfiler;
  • Innstillinger i temaets administrasjonsområde som gir brukerne muligheter til å tilpasse farger, stiler eller andre aspekter ved temaet ditt.

Temaer som følger med WordPress og er installert ut av esken har en functions.php-fil som definerer en rekke funksjoner og innstillinger i temaets admin-område, slik at du kan bruke denne som modell. Functions.php-filen fungerer i utgangspunktet som en plugin, Codex-delen er det beste stedet å få mer informasjon om hvordan du kan bruke denne filen.

Temamalfiler

Malvalg basert på spørringer

WordPress lar programmereren bruke ulike alternativer for å koble til maler fra et sett: for det første ved å bruke malhierarkiet, og for det andre ved å bruke betingede tagger inne i malfilbehandlingsløkken.

I det første tilfellet, når du bruker et malhierarki, må du lage spesielle malfiler som automatisk brukes til rett tid for å lage en side i stedet for grunnmalen index.php. For eksempel, hvis temaet ditt inneholder en mal kalt category.php og det kommer en forespørsel om en kategoriside, vil category.php-malen lastes i stedet for index.php-malen. Hvis det ikke er noen categorie.php-fil i temaet, vil index.php-malen lastes inn som vanlig.

Du kan definere en mal for en bestemt kategori, for eksempel ved å legge til en kategori-6.php malfil til temaet ditt. Filen vil bli brukt i stedet for index.php når kategori-ID er 6. For å finne ut kategori-ID, gå til > hvis du har administratortilgang i WordPress versjon 2.3 eller lavere.

Fra og med WordPress 2.5 er ID-kolonnen fjernet fra administrasjonspanelet. Du kan bestemme kategori-ID-en ved å klikke "Rediger kategori" og se på cat_ID-verdien i URL-en. For eksempel slutten av nettadressen:

"...categories.php?action=edit&cat_ID=3"

hvor "3" er IDen til gjeldende kategori. Denne prosessen er omtalt mer detaljert i

Hvis temaet ditt trenger å kunne kontrollere visningsmalen i enda mer detalj enn kontrollnivået gitt av malhierarkiet, kan du bruke betingede tagger. Betingede tagger sjekker i utgangspunktet om en spesiell tilstand er sann under kjøring, i så fall kan du laste inn en spesifikk mal eller vise noen tekstvariasjoner på siden i henhold til den betingelsen.

For å lage forskjellige stiler avhengig av kategorinummeret, kan koden for eksempel se slik ut:

Eller, ved å bruke et forespørselsobjekt, kan den samme algoritmen implementeres annerledes:

post; if ($post->in_category("9")) ( include(TEMPLATEPATH . "/single2.php"); ) else ( include(TEMPLATEPATH . "/single1.php"); ) ?>

Uansett vil begge kodeeksemplene produsere forskjellige mønstre avhengig av kategori-ID. Betingede tagger er ikke begrenset til kategorier, se artikkelen, den diskuterer alle mulige alternativer.

Filtypeikoner

Wordpress bruker filtypeikoner () på bloggen din og i ahvis disse ikonene finnes på den angitte plasseringen.

Wordpress ser etter disse filene i gjeldende temas bildekatalog. (Og i Wordpress 2.2 har standardtemaet bare ett ikon, audio.jpg .)

For for eksempel å gjengi et ikon av MIME-typen audio/mpeg , vil Wordpress se etter ikonfilen i den angitte bildekatalogen for gjeldende tema, den velger den første samsvarende filen (se funksjonsbeskrivelse):

  1. my_theme/images/audio.jpg
  2. mitt_tema /images/audio.gif
  3. my_theme/images/audio.png
  4. my_theme/images/mpeg.jpg
  5. mitt_tema /images/mpeg.gif
  6. mitt_tema /images/mpeg.png
  7. mitt_tema /images/audio_mpeg.jpg
  8. mitt_tema /images/audio_mpeg.gif
  9. mitt_tema /images/audio_mpeg.png

Liste over standard temamalfiler

Nedenfor er en liste over standard malfiler brukt av WordPress. Selvfølgelig kan temaet ditt inneholde andre stil-, bilde- eller programfiler. Bare husk at filnavnene nedenfor har spesiell betydning for WordPress - se hierarkimalen for mer informasjon.

Style.css Hovedstilarkfil. Filen må være i emnet Nødvendigvis og må inneholde kommentarene beskrevet ovenfor i filoverskriften. index.php Hovedmalfil. Hvis du bruker dine egne maler i temaet ditt, kreves denne index.php-filen. comments.php Kommentarmal. Hvis den ikke er til stede, brukes comments.php-filen fra standardtemaet. comments-popup.php Legger til en popup-meny for JS-kommentarer. Hvis den ikke er tilstede, kalles comments-popup.php fra standardtemaet. home.php Blogg-hjemmesidemal. single.php Sidemal for enkelt innlegg. Brukes når et spesifikt innlegg er forespurt. For denne og andre maler på forespørsel, bruk index.php hvis temaet ditt ikke har en tilsvarende malfil. page.php Enkeltsidemal, brukes til å vise den forespurte siden. category.php Kategorimal. Brukes når du ber om en kategori. author.php Bloggforfattermal. Brukes når du spør bloggforfatteren. date.php Dato-tid utdatamal. Brukes ved forespørsel om dato og klokkeslett. År, måned, dag i måneden, time, minutt, sekund. archive.php Arkivmal. Brukes når en kategori, forfatter eller dato er forespurt. Vær oppmerksom på at denne malen kan overstyres av categorie.php , author.php og date.php malene for passende forespørselstyper. search.php Søkeresultatmal. Brukes etter å ha utført et søk. 404.php Mal for feilmelding. Brukes når WordPress ikke finner et innlegg eller en side som samsvarer med et søk.

Disse filene har en spesiell betydning i WordPress fordi de brukes til å erstatte index.php når de er i temakatalogen, i henhold til malhierarkiet, og når de blir bedt om det; eller i samsvar med sannheten til betingede tagger, når en funksjon av typen er_*(); returnerer "true".

For eksempel, hvis du ønsker å vise et enkelt innlegg, returnerer funksjonen "true" og det er en single.php malfil i den aktive temakatalogen, denne malen brukes til å lage siden.

Lenker til filer fra malen

Standard WordPress-tema er et godt eksempel på en teknikk (først beskrevet av Michael Heilemann i Kubricks WordPress 1.2-layout) for hvordan spørringer gjengis i maler.

Følgende kodesetter inn malens URL i malutdataene. Du kan legge til tilleggsinformasjon for å koble til filer fra temaet ditt.

Følgende kodelegger til URL-en til katalogen som inneholder temaets stylesheet.css-filer til malutdataene. Du kan legge til tilleggsinformasjon for å referere til temafilene dine, spesielt de som trengs for stilark (for å unngå dette, bruk dette i stedet).

TEMPLATEPATH-konstanten inneholder den absolutte banen til gjeldende temas malkatalog (uten "/" på slutten).

Merk at URI-ene som brukes i stilarket er bundet til katalogen der stilarkfilen er plassert, ikke til katalogen der malen som bruker disse stilene er plassert. Dette eliminerer behovet for å legge til PHP-kode i stilarkfilen for å angi gjeldende katalog. For eksempel, hvis du bruker bilder fra temaets bilder/katalog i stilarket ditt, bør du bare spesifisere en relativ bane i CSS, slik:

H1 ( bakgrunnsbilde: URL(bilder/min_bakgrunn.jpg); )

Det er et godt alternativ å bruke metoden beskrevet ovenfor for å koble til filer. I dette tilfellet trenger du ikke absolutte baner i malene dine.

Definere egendefinerte maltyper

Du kan bruke WordPress-plugin-systemet til å legge til dine egne maltyper som brukes i spesifikke tilfeller. Dette er nødvendig dersom du ønsker å lage for eksempel ulike oppsett for ulike saker eller egen kommentarmal osv. Denne WordPress-utvidelsen kan oppnås ved å avskjære template_redirect-hendelsen, se . Mer informasjon om å lage plugins finner du her.

Nødvendige hendelsesanrop for kompatibilitet

Når du designer et tema, er det lurt å huske på at temaet ditt bør konfigureres på en slik måte at det kan fungere godt med alle WordPress-plugins som du eller en annen bruker av temaet ditt ønsker å installere. Plugins utvider funksjonaliteten til WordPress gjennom bruk av eventhooks ("Action Hooks", se for mer informasjon). De fleste hendelser skjer i WordPress-kjernen, så temaet ditt trenger ikke å kalle tilpassede hendelser for å fungere. Men noen avlyttede hendelser vil fortsatt måtte kalles opp for at de installerte pluginene skal vise informasjon riktig direkte i topptekst (topptekst) og bunntekst (bunntekst), i sidefeltet eller i hoveddelen av siden. Her er en liste over spesielle hendelsestagger som må kalles i temaet ditt for at eventuelle plugins skal fungere riktig:

Wp_head Oppstår når elementets kode vises i header.php-malen. Eksempel på bruk i plugin: legge til javascript-kode. Bruk: -eller- wp_footer Oppstår når temaets "bunntekst"-overskrift vises i footer.php-malen. Et eksempel på bruk i plugin: å sette inn PHP-kode som skal kjøres etter alt, den aller siste på siden. Bruk: -eller- wp_meta Hendelse oppstår vanligvis når en tag behandles

  • Meta
  • når du gjengir en meny eller i en sidefeltmeny i sidebar.php-malen. Brukstilfelle: Inkluderer en 360-graders annonse eller tagsky i sidefeltet. Bruk: -eller- comment_form Oppstår når comments.php- og comments-popup.php-malskriptene behandles, rett før kommentarskjema-taggen lukkes (). Brukseksempel: Vis forhåndsvisning av nylig lagt til kommentarer. Bruk:ID); ?>

    For et eksempel fra den virkelige verden kan du finne disse hendelsesanropene for plugins i deres respektive standard temamaler.

    Generelle merknader for temautviklere

    Vær tydelig og beskriv i temadokumentasjonen (en README-fil som følger med temaet ditt vil hjelpe mange brukere med å omgå potensielle snublesteiner):

    1. Angi nøyaktig hva tema- og malfilene dine er for.
    2. Følg navnekonvensjonen i standardtemahierarkiet.
    3. Nevn eventuelle mangler ved temaet ditt.
    4. Skriv enkle og tydelige kommentarer, spesielt på komplekse steder, i maler og stilfiler. Legg til kommentarer der du har endret standardoppførselen til maler og stiler.
    5. Hvis du har noen spesielle krav, som kan inkludere tilpassede omskriving- eller modifikasjonsregler eller bruk av noen ekstra spesielle maler, bilder eller andre filer, vennligst angi tydelig hvilke brukerhandlinger han må ta for å få temaet ditt fullt funksjonelt.
    6. Prøv og test temaet ditt i forskjellige nettlesere for å fange opp i det minste noen av problemene som brukere kan støte på.
    7. Oppgi kontaktinformasjon (nettside eller e-post), hvis mulig, for informasjonsstøtte og brukerspørsmål.

    Lenker og ressurser

    En fullstendig liste over ressurser relatert til temaer og maler er tilgjengelig i artikkelen.

    Bare husk at WordPress genererer noen klasser som må være til stede i stilarket. For eksempel klasser aligncenter, alignleft og alignright tjene til å justere bilder og blokkere elementer, og de må inkluderes i stilarket ditt (kan kopieres fra stilarket til standardtemaet):


    .aligncenter,
    div.aligncenter(
    display: blokk;
    margin-venstre: auto;
    marg-høyre: auto;
    }
    .alignleft(
    flyte: venstre;
    }
    .alignright(
    flyte: høyre;
    }

    Følgende klasser brukes til å justere bilder som har bildetekster (kan kopieres fra standardtemaet, senere korrigeres om nødvendig):


    .wp-caption (
    kantlinje: 1px solid #ddd;
    tekst-align: center;
    bakgrunnsfarge: #f3f3f3;
    polstring-topp: 4px;
    margin: 10px;
    /*valgfrie parametere som vil lage avrundede hjørner i støttede nettlesere*/
    -moz-border-radius: 3px;
    -khtml-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    }
    .wp-caption img (
    margin: 0;
    polstring: 0;
    grense: 0 ingen;
    }
    .wp-caption p.wp-caption-text (
    skriftstørrelse: 11px;
    linjehøyde: 17px;
    polstring: 0 4px 5px;
    margin: 0;
    }

    I tillegg er det flere andre WordPress-klasser som ikke trenger å beskrives i stilarket, men fordi... WordPress genererer sider ved å bruke dem, og du kan style dem:


    .categories(...)
    .cat-item /* Denne klassen er tilordnet alle kategorier */)
    .current-cat (/* gjeldende kategoristil */)
    .current-cat-parent (/* stil for gjeldende kategoris stamfar(er) */)
    .children (/* klasse for barn */)
    .pagenav (/* sidenavigering */)
    .page_item (/* ethvert listeelement */)
    .current_page_item (/* denne klassen er tilordnet i listen over sider til den gjeldende aktive siden */)
    .current_page_parent (/*klasse for den overordnede siden i forhold til den gjeldende */)
    .current_page_ancestor (/* hvilken som helst side på de øvre nivåene i forhold til denne */)
    .widget (/* alle widgets er pakket inn i denne klassen */)

    Under layoutprosessen, bruk blokker og stiler for dem, som definert i skjermbildene i begynnelsen av artikkelen. Dette er ikke nødvendig, men det er veldig ønskelig.

    For eksempel vil vi i fremtiden koble et søkeskjema til nettstedet via spesial. wordpress tag , som et resultat av at WordPress vil vise følgende skjema:

    Derfor tar vi hensyn til dette når vi utformer temaet.

    Og det siste du trenger å legge til style.css er informasjon om deg selv og det opprettede temaet. Informasjonen er plassert i begynnelsen av filen i kommentarfeltet:

    /*
    Temanavn: Lag et unikt temanavn
    Tema-URI: http://link-to-theme-homepage
    Beskrivelse: Beskrivelse av emnet
    Forfatter: Emneforfatter
    Forfatter-URI: http://link-to-author-page
    Mal: stamfars temanavn
    Tags: temakoder - bare fra listen som tilbys av wordpress.org
    Versjon: versjon
    Vel, her er teksten til lisensen
    */

    Ikke glem å gjøre screenshot.png og legg den i mappen med malen (ved roten). Informasjon plassert på denne måten i stilarket vil vises i administrasjonspanelet i seksjonen "Tema" ledelse. Vi tester den utformede malen i nettlesere, hvis alt er i orden, kan du gå videre.

    Jeg vil ikke oppgi koden for sidene i den utformede malen, fordi... den er stor nok, bare last den ned, så jobber vi med den.

    Hvordan et wp-tema fungerer:

    Hvis du åpner standard temamappen (wp-content/themes/default), vil du se mange PHP-filer (temafiler) og en style.css-fil. Når vi ser på en blogg, inkluderer WP temafilene (index.php<

    På dette tidspunktet er den foreløpige forberedelsen fullført, og vi kan gå videre til å lage et tema fra det tilgjengelige kildematerialet.

    Trinn 1:
    Først, i WordPress-temakatalogen (wp-innhold/temaer), opprett en mappe med navnet på temaet vårt. La det være ruseller_leksjoner. Deretter kopierer du filene fra standard temamappen (wp-content/themes/default). comments.php, search.php Og 404.php til vår temamappe. Disse filene er ansvarlige for kommentarer og søk på bloggen. Så inn ruseller_leksjoner kopier stilarket style.css vår mal, screenshot.png (300x225) og mappe Bilder.

    Nå må malfilene våre «kuttes», dvs. pakke ut bunntekst, sidefelt og topptekst i separate filer. Diagrammet viser en forenklet visning av filen index.php med merker som vi vil kutte det i henhold til:

    Steg 2 - Header.php
    Åpning index.html og klipp ut alt før kommentaren, opprett en ny fil header.php og lim inn klippekoden i den, lagre den i katalogen til temaet vårt ruseller_leksjoner:






    index.html






    Gå nå til mappen med standardtemaet, åpne header.php og kopier taggene derfra , <link>, <h1>, og <div class=description> </b> og med dem erstatter vi de tilsvarende linjene i vår <b>header.php</b>.</p> <p>Deretter alle tagger <li>plassert <b>id="nav"</b>(liste over sider øverst på bloggen) erstattet med en WordPress-funksjon</p> <p><b> <?php wp_list_pages("sort_column=menu_order&depth=1&title_li=");?> </b></p> <p>Som et resultat får vi:</p><p> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><br> <html xmlns="http://www.w3.org/1999/xhtml"><br> <head><br> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><br> <title><?php wp_title("«", true, "right"); ?> <?php bloginfo("name"); ?>
    " type="text/css" media="skjerm" />
    " />





    Trinn 3 - Sidebar.php
    La oss gå tilbake til index.htm-filen. Først av alt, slett hele søkeskjemaet, og klipp deretter ut alt fra det