Ulike maler for WordPress-sider eller innlegg. Opprette sider og seksjoner i WordPress

I denne artikkelen vil jeg snakke om måter å lage maler for permanente sider WordPress. Hver metode har sine fordeler og ulemper. Men før vi begynner, litt om hva sider er og hvordan de skiller seg fra innlegg.

I WordPress kan du lage sider (sider) og innlegg (innlegg). De skiller seg ved at oppføringene: havner i feeden på hjemmeside; Kategorier er angitt for oppføringer; innlegg kan ikke være trelignende, og sider: brukes til innhold som "Om meg", "Kontakter", "Nettstedskart"; har ikke kategorier, men har en trestruktur. Oppføringer er vanligvis ment for kronologisk informasjon (basert på tidspunktet de ble lagt til), og sidene er for en trestruktur som er uavhengig av tid. For eksempel er denne artikkelen publisert som en "oppføring" i "Kode"-delen, og lenker i overskriftsmenyen fører til sidene: Funksjoner.

Sider ligner på poster - de er plassert i samme databasetabell og dataene deres er nesten de samme: tittel, tekst, tilleggsfelt etc. Begge er rekorder, men forskjellige typer: Sider er trelignende og organisert ved å opprette overordnede og underordnede sider, og innlegg er organisert etter kategorier og koder. I WordPress kan du opprette flere innleggstyper, tre eller ikke.

Opprette sider i WordPress

Ofte må du lage egen mal sider slik at informasjonen som vises skiller seg fra andre sider. Ved å lage en sidemal i WordPress kan du endre siden fullstendig: fjern sidefeltet, bunnteksten, toppteksten, du kan endre siden til det ugjenkjennelige. På denne siden endres for eksempel siden som WordPress-filkodene vises på på denne måten.

Metode 1: sidemal ved å bruke en fil med et tilpasset navn og koble den til i administrasjonspanelet (klassisk metode)

Dette er den vanligste måten å lage en sidemal i WordPress. For å gjøre dette må du lage en .php-fil, for eksempel tpl_my-page.php i temamappen og helt i begynnelsen av filen skrive en merknad om at den opprettede filen er en mal for sider:

Nå, når du oppretter en side i administrasjonspanelet, i "Sideegenskaper"-blokken, kan vi velge en "mal":

Fra WordPress 4.7. Slike sidemaler kan lages for alle typer innlegg, ikke bare side. For å gjøre dette, suppler kommentarene med linjen: Mal Innleggstype: innlegg, side, hvor innlegg, side er navnene på innleggstypene malen tilhører.

/* Malnavn: Min sidemal Mal Innleggstype: innlegg, side, produkt */

Fordeler:

    Etter å ha laget en mal, kan vi enkelt bruke den til forskjellige sider. Du kan for eksempel lage en mal uten sidefelt og bruke den på forskjellige sider.

  • Kun poster med spesifisert mal kan hentes. Du kan for eksempel vise alle sidene med "Tjenester"-malen (services.php-filen). Noen ganger er det praktisk. Navnet på malfilen er lagret i metafeltet _wp_page_template, så for å vise sider med den spesifiserte malen må du opprette en spørring ved hjelp av metafeltet (se WP_Query).

Feil:

Etter å ha opprettet malfilen i temamappen, må du gå til administrasjonspanelet og installere malen for siden. Dette er ikke alltid praktisk under utvikling. Derfor, hvis du har tenkt å bruke malen for bare én side, bruk den andre metoden.

Hvordan det fungerer:

Når du går til administrasjonspanelet for å redigere en trepostside, skanner WordPress alle malfiler for linjen:

Malnavn: ***

Linjen kan plasseres hvor som helst og hvor som helst i filen.

Alle filer med lignende strenger samles og vises i malvalget i "Sideattributter"-blokken.

Når du publiserer en side, fylles det egendefinerte feltet _wp_page_template med navnet på malfilen eller standard hvis ingen mal er spesifisert:

Wp_page_template = standard
_wp_page_template = tpl_my-page.php

Deretter, når brukeren besøker siden, vil WordPress sjekke metafeltet _wp_page_template, hvis malen er installert, brukes malfilen. Ellers fortsetter søket etter sidemalen gjennom hierarkiet.

Metode 2: sidemal via en fil med et spesifikt navn (hierarki av malfiler)

Når en side opprettes, vises en etikett (snegl, Alternativt navn). Den brukes i sidens URL. Og det kan endres:


For å lage en mal på denne måten, må du finne ut sidesneglen og lage en fil i temamappen. La oss si at sneglen vår, som på bildet, er lik kontakter , så lager vi en side-contacts.php-fil i temaet. og fyll den ut den nødvendige koden(du kan kopiere innholdet fra page.php-malfilen og redigere den etter eget ønske). Det er det, nå når vi besøker siden bør vi se ny mal. På samme måte kan du ta ID-en (la den være 12) til siden og lage en fil page-12.php .

Fordeler:

Det er ikke nødvendig å gå til administrasjonspanelet og installere malfilen. Malen begynner å fungere umiddelbart etter at filen er opprettet. Praktisk for utvikling.

Feil:

Malen er laget for kun én, spesifikk side. Avhenger av slug på siden; hvis den endres, vil ikke malen fungere. Bruker du ID, så forsvinner avhengigheten av sneglen, men det blir uklart i temafilen hvilken side malen tilhører (hvis det er flere maler med ID).

Nesten ubrukelig når du skriver maler, og enda mer plugins. Den kan brukes når du redigerer nettstedet ditt, der slug eller side-ID er kjent på forhånd.

Hvordan det fungerer:

WordPeress velger hvilken fil som skal brukes i følgende rekkefølge (filene må være i temaroten):

  • (any_name).php (når du bruker en sidemal)
  • side-(post_label).php
  • side-(post_ID).php
  • side.php
  • entall.php
  • index.php

Metode 3: sidemal gjennom "template_include"-filteret (koding)

Dette er en avansert metode, den er mer kompleks, men sammen med kompleksiteten åpner den seg rikelige muligheter. Ved å bruke denne metoden kan du angi en mal for hvilken som helst side, innlegg, kategori, enhver publikasjon på nettstedet, eller til og med en gruppe av publikasjoner. Se eksempler med beskrivelser:

// filteret sender $template-variabelen - banen til malfilen. // Ved å endre denne banen endrer vi malfilen. add_filter("mal_inkluder", "min_mal"); function my_template($template) ( # lik den andre metoden // hvis dette er en side med portfolio-slugen, bruk malfilen page-portfolio.php // bruk den betingede taggen is_page() if(is_page("portfolio" ))( if ($new_template = locate_template(array("page-portfolio.php"))) return $new_template ; ) # mal for kategorigruppe // dette eksemplet vil bruke filen fra temamappen tpl_special-cats.php, // som en mal for kategorier med ID 9 , tittel "Ukategorisert" og slug "php" if(is_category(array(9, "Ukategorisert", "php")))( return get_stylesheet_directory() . "/tpl_special-cats. php"; ) # mal for oppføring etter ID // malfilen ligger i plugin-mappen /my-plugin/site-template.php global $post; if($post->ID == 12)( return wp_normalize_path( WP_PLUGIN_DIR) . "/my-plugin/site- template.php"; ) # mal for sider vilkårlig type"book" // antar at malfilen book-tpl.php er i temamappen global $post; if($post->post_type == "bok")( return get_stylesheet_directory() . "/book-tpl.php"; ) return $mal; )

Denne koden må plasseres i temaets functions.php-fil eller i en plugin, eller kobles til på annen måte. Som det fremgår av eksempelet, fungerer de allerede under template_include-filteret betingede tagger, er globale variabler satt: $wp_query, $post, etc.

Fordeler:

    Du kan angi en mal for hvilken som helst side eller gruppe med sider. Nesten fullstendig carte blanche i handlinger.

  • Du kan lage en mal når du skriver en plugin.

Feil:

Behovet for å skrive kode og koble den separat (for eksempel i temaets functions.php).

For ikke lenge siden ble det publisert en manual om. Det var i naturen av dating det første stadiet, men også inkludert praktiske eksempler. Jeg vil gjerne fortsette denne retningen, bare vær oppmerksom på sidene. Materialet om dette emnet er multifunksjonelt, det vil si veldig stort. Derfor vil det være vanskelig å åpne alle funksjonene til en sidemal i én artikkel. Men vi vil i det minste prøve å berøre indirekte detaljer og, selvfølgelig, hovedparametrene.

Sidehierarki

Hierarki betyr en sekvens fra høyeste nivå til helt nederst, eller omvendt. I vårt tilfelle er dette samme autoritetsrekkefølge for malfilene for siden. Når en bruker lander på en av sidene dine, viser WordPress innholdet basert på alternativet for sideoppretting (mer nedenfor).

Egendefinert mal– betegnet betinget kommentarøverst i en fil med et tilfeldig navn.

page-slug.php– en mal med navnet på siden (snarvei). Hvis en egendefinert mal ikke ble spesifisert, bruker WordPress denne typen som den viktigste.

side-id.phpunik identifikator sider.

side.phpstandard fil ansvarlig for innholdet på sidene.

index.php– indeksfil. Hvis WordPress ikke finner noen av malene som er oppført ovenfor, vil det som standard være ansvarlig for sidene.

Merk følgende. Det er også en sidemal i WordPress kalt paged.php, men den brukes ikke til å vise enkeltpostsider, heller for å vise en liste over sider i postarkiver.

Lag en egendefinert mal for massebruk

Det er flere alternativer for å lage en mal med sine fordeler og ulemper, nesten ubetydelige. Dette alternativet, som vi nå skal vurdere, er det vanligste. Det første trinnet er å lage php filen eller duplisere standard page.php . Lagre den deretter under et annet navn, for eksempel templates_my.php. Legg så til en kommentar øverst i filen:

Det neste trinnet er å laste opp filen til temaet ditt, gå til administrasjonspanelet i fanen "Sider - Legg til ny", eller du kan åpne en eksisterende. I sideattributtene velger du hvilken mal som skal brukes på denne siden.

Hvis du plutselig ikke har panelet "Sideattributter", merker du av i boksen i skjerminnstillingene øverst til høyre for å vise det.

Massebruk betyr at denne typen mal kan brukes på alle sider på nettstedet. I motsetning til spesialisert, som ble opprettet med en spesifikk sideidentifikator eller etikett.

Råd. En mal som er opprettet på denne måten, kan plasseres i en undermappe av gjeldende tema. Altså uten å ta ekstra plass og skaper et kompakt utseende.

Viktig. Ikke bruk prefikset side- som navnet på malsiden. Fordi WordPress vil tolke filen som en spesialisert fil, som tydeligvis bare gjelder én side.

Egendefinerte sidemaler

Den andre metoden er kun for enkelte sider uten unntak. La oss gi et eksempel på gammel ordning. La oss si at du har en side som heter "Portfolio", som standard er etiketten oversatt til det engelske ordet "portfolio". Dette kan sees i «Side-egenskaper»-innstillingene. Nå dupliserer vi bare page.php-filen og gir den nytt navn til page-portfolio.php.

ID-en opprettes på nøyaktig samme måte, bare side-ID-en erstattes med etiketten. Han er inne adressefeltet, «Sider-redigering»-delen ser slik ut som dette innlegget=9 . På samme måte blir standardfilen duplisert og omdøpt til side-9.php.

Viktig. En mal av samme type som bare ble opprettet for en bestemt side, kan ikke finnes i temaundermapper. Nøyaktig det samme som i barnetemaer.

Praktisk eksempel på å lage en sidemal

La oss nå, som et eksempel, lage en mal basert på det første alternativet og endre løkken i den ved å legge til utdata fra kategorier med poster. Åpne et hvilket som helst redigeringsprogram, legg til koden nedenfor, lagre den under navnet template_my.php, og last den opp til serveren.

    Kategori-1

    have_posts()): $the_query -> the_post(); ?>
  • ">

    Kategori-2

    have_posts()): $the_query -> the_post(); ?>
  • ">

    Kategori-3

    have_posts()): $the_query -> the_post(); ?>
  • ">

Nå må du skrive stiler i style.css-filen

My_main ( box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); margin: 20px auto; polstring: 15px; bakgrunn: #fff; width:1000px; ) .page_cat ( margin: 0 9px 20px; padding 15px; vertikaljustering: topp; bredde: 28%; display: inline-block; ) .page_cat h2 (farge: #676767; font: fet 18px arial; margin-bunn: 20px; ) .page_cat li a ( tekstdekorasjon : ingen; farge: #2879af; display: block; ) .page_cat li ( margin-bottom: 6px; polstring: 3px 3px 3px 10px; display: block; ) .page_cat li a:hover ( tekstdekorasjon: understreking; ). page_cat li:nth-child(2n) ( bakgrunn: #f7f7f7; )

Det er bare én ting igjen å gjøre: i administrasjonspanelet, i «Sider-rediger»-fanen, spesifiser vår tidligere opprettede «eksempelmal»-mal i sideattributtene.

Resultat.

Betingede sidetagger

I det siste avsnittet vil vi vurdere flere betingede tagger. De er skrevet i standardfilen page.php.

Vise elementer på bestemte sider

/images/img.png"/> /images/img.jpg"/> /images/img.jpg"/> /images/img.jpg"/>

informasjonsutgang

"; } ?>

En lignende oppgave kan oppstå når du trenger å ha forskjellige sidemaler når det gjelder design på ett nettsted. Den enkleste situasjonen du tenker på: å skjule annonser/bannere i utvalgte artikler; eller plutselig vil du slette lister med lignende notater eller for eksempel noen elementer i noen publikasjoner. I dag skal jeg lære deg hvordan du gjør dette.

Dette er ikke første gang jeg kommer tilbake til denne problemstillingen, jeg ønsket å samle alle nyansene og kunnskapen på ett sted. Heldigvis er moderne metoder så enkle som mulig sammenlignet med tidligere modifikasjoner. Du trenger ikke engang å installere tilleggsmoduler som før. WordPress-utviklere forenkler og forbedrer virkelig systemet.

Så i dag, la oss se på:

Ulike side-/innleggsmaler i WordPress

I teorien er alt du trenger i dette tilfellet å plassere litt kode helt øverst i den tilsvarende filen:

/* * Malnavn: NoAds Single Page * Mal Post Type: post, page, product */ ?>

Den første linjen angir navnet på WP-adminpanelet, den andre bestemmer hvilke typer innlegg denne layouten kan brukes i (i eksempelet: innlegg, side og produkt).

Det vil si at du faktisk bare trenger å lage en ny WordPress-sidemal, som vil sette reglene for visning av informasjon på nettstedet for alle notater med innhold. Det avhenger imidlertid av om kodene i single.php og page.php er forskjellige - i så fall må du endre hver av dem.

Generell handlingsalgoritme:

1. Ved å bruke FileZilla FTP-klienten, gå til hostingen din i katalogen med navnet på det installerte temaet wp-content/themes/theme_name(eller barn).

2. Kopier filen som brukes til å vise innlegg/sider (single.php og page.php) til din lokale datamaskin.

3. Gi nytt navn til for eksempel side-ny.php eller side-noads.php osv. (navnet spiller ingen rolle).

5. Last opp den nye versjonen tilbake til hosting i samme katalog.

Velge en sidemal i WordPress

Gå nå til systemadministrasjonspanelet, åpne en hvilken som helst publikasjon for redigering og se etter følgende blokk der:

Navnet som vises her er spesifisert på linjen for malnavn.

Forresten, det er praktisk at det er tilgjengelig, det vil si at du kan endre sidemalen for flere objekter samtidig. Gå til elementet "Alle oppføringer", hvor du markerer et par artikler og velger "Rediger" i "Handlinger".

Etter å ha gjort ditt valg, ikke glem å klikke på "Oppdater".

Ulike sidefelt, topptekst, bunntekst og mer

Hvis du ser nøye på det installerte temaet, vil du se at standardfunksjoner brukes til å vise grunnleggende elementer: get_sidebar, get_header, get_footer. Hvis du endret oppsettet ditt, men la det der, vil nettstedet vise det samme innholdet som hovedoppsettet.

La oss se på den enkleste situasjonen - vi har en ny, korrigert page.php, men vi må også gjøre noen justeringer i sidefeltet. I dette tilfellet, i stedet for get_sidebar, bruker jeg konstruksjonen:

Selvfølgelig må du lage den tilsvarende filen sidebar-category-noads.php. Selv om du teoretisk sett umiddelbart kan skrive kode i en ny layout uten inkludering, men på denne måten blir strukturen mindre tydelig.

Det er klart at trikset gjelder ikke bare for disse tre blokkene på nettstedet, men også for alle andre - studer nøye kildekodene du bruker i arbeidet ditt.

Individuelle innleggsmaler etter kategori

Det er i hovedsak to måter her. Jeg personlig foretrekker den enklere - åpne et enkelt innlegg single.php i editoren og plasser koden:

In_category sjekker hvilken seksjon publikasjonen tilhører: hvis med ID=5, så lastes single-category5.php, ellers single-forall.php. Selvfølgelig bør disse to filene legges til FTP på forhånd (du kan igjen kopiere dem fra kilden og korrigere dem litt) + alle navn er tillatt.

Det andre alternativet har blitt vurdert. Du må plassere følgende kode i functions.php:

/* * Definer en konstant bane til vår enkelt malmapp */ definere (SINGLE_PATH, TEMPLATEPATH. "/single" ); /** * Filtrer single_template med vår egendefinerte funksjon */ add_filter("single_mal" , "min_single_mal" ); /** * Enkel malfunksjon som vil velge vår mal */ function my_single_template($single) ( global $wp_query, $post ; /** * Sjekker for enkeltmal etter kategori * Sjekk etter kategori slug og ID */ foreach ((array) get_the_category() som $cat ) : if (fil_eksisterer (SINGLE_PATH . "/single-cat-" . $cat -> slug . ".php" ) ) returner SINGLE_PATH . "/single-cat-". $cat -> slug . ".php" ; elseif (fil_eksisterer (SINGLE_PATH . "/single-cat-" . $cat -> term_id . ".php") ) returner SINGLE_PATH . "/single-cat-". $cat -> term_id . ".php" ; endforeach ; )

/* * Definer en konstant bane til vår enkelt malmapp */ define(SINGLE_PATH, TEMPLATEPATH . "/single"); /** * Filtrer single_template med vår egendefinerte funksjon */ add_filter("single_template", "my_single_template"); /** * Enkeltmalfunksjon som vil velge vår mal */ function my_single_template($single) ( global $wp_query, $post; /** * Sjekker for enkeltmal etter kategori * Sjekk etter kategori slug og ID */ foreach(( array)get_the_category() som $cat) : if(file_exists(SINGLE_PATH . "/single-cat-" . $cat->slug . ".php")) returner SINGLE_PATH . "/single-cat-" . $cat- >slug . ".php"; elseif(file_exists(SINGLE_PATH . "/single-cat-" . $cat->term_id . ".php")) return SINGLE_PATH . "/single-cat-" . $cat->term_id . ".php"; endforeach; )

Etter det, i temakatalogen, opprett en ny mappe "single" som /wp-content/themes/ditt_tema/single/ hvor laster du opp filer hvis navn har følgende format single-cat-(category-slug).php, for eksempel: single-cat-news.php eller single-cat-articles.php. Jeg har ikke personlig testet denne metoden, men kilden er pålitelig.

Ytterligere nyanser

Til slutt 2 små kommentarer. Noen ganger hender det at det i et premium-tema i adminpanelet ikke er noe valg av layout for innlegg (poster), og i stedet har utviklerne implementert formater. I dette tilfellet kan du bruke en av dem for alternativ informasjonsutgang.

Metoden er selvfølgelig ikke den mest kompetente, men den fungerer. Ikke glem å gjøre endringer i den aktuelle filen.

Det andre trikset er når du trenger å skjule/vise widgeten avhengig av det valgte layoutalternativet. I dette tilfellet kommer også de betingede operatorene is_page_template eller has_post_format til unnsetning.

Total. Jeg gjentar, hvis du trenger å lage forskjellige maler for sider og innlegg i WordPress, men selve page.php og single.php er forskjellige, så lager du din egen "kopi" for hver av dem. Når strukturen deres er den samme, lar de nye funksjonene til systemet deg lage bare ett oppsett, hvor du i Template Post Type-beskrivelsen ganske enkelt angir hvilke typer objekter det vil fungere med.

Hvis du har spørsmål om hoveddelen av notatet, og om ytterligere nyanser, skriv nedenfor, så skal jeg prøve å svare.

Gutter, hei alle sammen. Alexander Borisov er med deg. Siden det nå er en hard kamp om en plass i solen i internettvirksomhetens verden, bruker jeg mye tid på utviklingsstrategier, styrking av defensive posisjoner og noe annet hemmelig, jeg skriver ikke så ofte.

Ikke noe problem, nå skal jeg implementere alle planene mine, og så vil jeg skrive mye, og vi skal snakke med deg om det jeg sa ovenfor. Jeg tror at mange allerede kjenner på det som skjer på nett, så nå er det bare de sterkeste som overlever. Å, jeg misunner ikke nykommere... Ok, kort sagt ikke gå glipp av artiklene mine om dette temaet.

I dagens artikkel vil jeg gjerne fortelle deg om en funksjon som ikke vil være noe nytt for mange av dere, men som vil være veldig nyttig for nybegynnere. Vel, for å være ærlig, jeg er langt fra en nybegynner selv, men jeg fant ut om denne tingen for ikke lenge siden, da, som de sier, den slo meg.

I utgangspunktet vil jeg i dag fortelle deg hvordan du lager en egen mal for bloggsidene eller innleggene dine (artikler). Hvis noen ikke forstår hva jeg mener, skal jeg vise deg et spesifikt eksempel. Akkurat nå leser du denne artikkelen, men la du ikke merke til at du i begynnelsen av artikkelen ikke så to bannere i størrelsen 468x60?

Vi så ikke banneret på 468 x 60, som er plassert på slutten av artikkelen. Så ikke kakkelkommentar-widgeten, Google Adsense-annonser... La du merke til det? Og se på andre artikler på bloggen min. Det er alt der. .

Hvordan klarte jeg å gjøre dette? Som du vet, er filen single.php, som ligger i mappen med temaet wp-contetn/themes, ansvarlig for produksjonen av alle artiklene på bloggen vår. Så for å skrive en ny artikkel og fjerne noe fra den som du ikke trenger, eller tvert imot, legge til, trenger du bare å sørge for at denne artikkelen blir skrevet ut ved hjelp av en annen fil.

Ikke standard single.php, men for eksempel single-2436.php eller post.php, som ligger i samme mappe med temaet for bloggen din. Disse filene skal inneholde absolutt det samme som single.php-filen, bare du fjerner eller legger til noe der etter behov.

Vel, for eksempel, i single.php-filen min i begynnelsen er det koder som viser to 468x60 bannere i alle blogginnlegg. For å være sikker på at det ikke er disse bannerne i den nye artikkelen, trenger jeg bare å fjerne disse kodene i den nye single-2436.php- eller post.php-filen (avhengig av hvilken av de to metodene jeg foreslo at du velger neste gang).

Jeg tror du forstår meg. Spørsmålet ditt er faktisk hvorfor lage andre side- og innleggsmaler i WordPress? Vel, hvis du tenker deg nøye om, vil du forstå hvorfor. Jeg vil nå gi deg bare ett eksempel.

Vel, i prinsippet godtar jeg å plassere banneret deres, men hvordan kan jeg gjøre dette hvis alt er likt i alle blogginnleggene mine? Samme mal for alle artikler. Forstår du hva jeg mener? Jeg tror at jeg allerede har kastet en interessant idé inn i motsken din. =)

Løsningen viste seg å være enkel. Du må lage en egen postmal, og det er det. La meg nå fortelle deg hvordan disse malene lages på to måter, og du kan velge den som passer deg. Jeg vil si med en gang at jeg valgte det andre alternativet. Opprette en mal uten plugin. Jeg liker dem ikke.

Nr. 1 - single.php-mal ved bruk av Custom Post Template-plugin

Slik vil det se ut:

Klar! Nå, når du skriver en ny artikkel og du trenger at den skal vises med denne spesielle malen, velger du ganske enkelt malen du opprettet i selve artikkelen til høyre:

Trenger en annen wordpress-innleggsmal, ikke noe problem. Lag en annen fil, for eksempel post2.php, endre også koden der (sett inn koden i begynnelsen, kun med post2) etter behov, og ved publisering av en artikkel velger du post2.php i Postmalen. Elementært! Ved å redigere malen kan du endre hva som helst! Bli opptatt...)))

nr. 2 - single.php mal med en liten haug i functions.php

Trinn 1— Plasser denne koden helt i begynnelsen av functions.php-filen:

/*Definere post-ID*/-funksjonen single($template) ( global $wp_query, $post; if(file_exists(TEMPLATEPATH . "/single-" . $post->ID . ".php")) ( return TEMPLATEPATH . " /single-" . $post->ID . ".php"; ) if(file_exists(TEMPLATEPATH . "/single.php")) (retur TEMPLATEPATH . "/single.php"; ) returner $mal; ) add_filter ( "single_template", "single");

Steg 2— Når vi skriver en artikkel for en blogg (selv før publisering), beregner vi dens ID. Det er ikke vanskelig, det er nummeret i nettleserlinjen:

Min er 7525.

Trinn #3— Vi lager en kopi av single.php-filen, bare vi kaller den single-7525.php

Trinn #4– Igjen, i denne nye filen legger vi til eller fjerner noe som vi trenger.

Trinn #5— Vi legger ut en artikkel på bloggen.

Etter publisering vil WordPress, på grunn av pakken som vi la til functions.php, forstå at denne artikkelen ikke skal vises som single.php, men som single-7525.php. Jeg synes det er klart.

Hva er bedre plugin eller pakke?

Nå ikke en stor konklusjon. Hva er bedre, en plugin eller en haug med funksjoner? Alt avhenger av dine behov. Hvis du trenger mange WordPress-postmaler, så er nok en plugin bedre, du forstår at hvis du bruker en haug, så må du for hvert innlegg lage en ny fil i temamappen, og det morsomme er når det er 100 eller 200 av dem.

Hvis det er 2-3-5 maler, så kan du fise i funksjoner. Vel, det er i grunnen alt. Jeg synes ikke det er noe komplisert. Det virker som en liten ting, men det er faktisk en veldig kul funksjon.

Hvordan lage en WordPress-sidemal

Vel, alt er enkelt her. En gang i tiden snakket jeg kort om dette i en artikkel om det for bloggen. Opplegget er enkelt, du trenger ikke engang noen fiser eller plugins.

Filen page.php er ansvarlig for å vise bloggsider, som også ligger i mappen med temaet for bloggen din.

Trinn 1— lag en kopi av denne filen i temamappen

Steg 2- gi nytt navn til denne filen for eksempel til puk.php

Trinn #3— Vi endrer alt i denne filen etter behov.

Trinn #4— Legg til følgende kode i begynnelsen av puk.php-filen:

Trinn #5— Vi publiserer en ny side på bloggen, bare velg malen vi trenger til høyre:

Klar! Vel, det ser ut til å være alt for i dag. Kanskje noen har noen spørsmål? I teorien forklarte han alt på en måte som til og med samovaren selv kunne forstå. Til slutt en interessant kunngjøring. Husker du at jeg i KSBT 3.0-kurset sa at en god lenkeprofil er nøkkelen til vellykket promotering? Så her er noen råd:

Med vennlig hilsen, Alexander Borisov

Noen ganger er det behov for å lage en ny nettside med nye funksjoner. For eksempel å lage en tjeneste for å sjekke TCI- og PR-nettsteder, hvis installasjon og drift ble beskrevet i artikkelen "". Mulighetene til standard WordPress-sider er ikke ubegrensede, og skriptutførelse er ikke gitt på dem, og det er grunnen til at smarte programmerere kom på et slikt trekk - å lage en ny sidemal som vil være "gummi", det vil si at den vil kunne fylle den med hvilken som helst funksjonalitet.

Å lage en ny temamal er ikke en stor oppgave, men for de som arbeider med det for første gang, kan denne prosessen by på noen vanskeligheter. Så hvor skal du begynne? Alt er i orden - alle temafilene dine er plassert i katalogen wp-content/themes/site theme/. Alle prosedyrer kan utføres gjennom administrasjonspanelet og et tekstredigeringsprogram, for eksempel Notisblokk eller Notisblokk+. Velg å lage en ny sidemal i page.php-filen - dette er et eksempel på din standard temaside.

I et tekstredigeringsprogram, lag en ny fil, som vil være den nye sidemalen - for eksempel nov.php, og kopier hele innholdet av page.php-temafilen inn i den - dette vil være skjelettet til den nye siden. Så kan vi fylle det slik vi vil.

Standardsidefilen inneholder et kall til sidens topptekst, bunntekst, sidefelt eller flere (hvis temamalen har flere av dem), og til selve sideinnholdet, samt utdata av kommentarer og andre nyttige ting. Men for å organisere en ny mal, må du spesifisere følgende kode helt øverst på nov.php-siden:

Navnet trenger ikke å være stort. Deretter, hvis du bestemmer deg for at du ikke trenger noen elementer på siden (for eksempel linjer, , ), kan de fjernes. Men dette gjelder allerede for dannelsen av sidedesignet. Vi gjør nå skittent arbeid. Det vil si at ved å bruke anropslinjer til visse funksjoner kan du endre hovedsidemalen til det ugjenkjennelige.

Men hvordan kan vi få denne siden til å utføre visse hjelpefunksjoner, det vil si de viktigste for den? Det er nødvendig å spesifisere handlingen som denne siden skal utføre, det vil si omdirigere funksjonen til malsiden som er ansvarlig for å utføre skriptet. På programmeringsspråk kalles dette "inkludere". For oss vil dette være linjen, hvor banen TEMPLATEPATH."/mmouse-whois.php angir banen til filen, som er whois-tjenesten - sjekker domenenavn. Du kan organisere enhver utførelse av skript - avstemninger, tellere, etc.

I mitt tilfelle utfører nov.php-siden to funksjoner. Det vil si, hvis vi tar ett eksempel, sjekker mmouse-whois.php-filen domenet ved hjelp av ressursadressen, og pagenavi.php-filen sjekker belegget av domenet ved hjelp av klientens IP-adresse. Det vil si at på nov.php-siden utføres to funksjoner samtidig. Men for at dette skal fungere, krever den nye siden tilstedeværelsen av slike filer i temakatalogen, det vil si at du må laste dem opp der.

Etter å ha fullført alle disse oppgavene, gå tilbake til konsollen på nettstedet ditt og opprette en ny side som du gjorde før. Men nå vil du ha muligheten til å velge ikke den grunnleggende sidemalen, men en ny, nettopp opprettet. Slik vil det se ut:

Nå er den nye temamalen din opprettet. Du kan endre den som du vil - fjern eller legg til en sidefelt, installer en ny temaoverskriftsfil, eller transformer filbunnteksten. Men dette er et tema for en annen artikkel. Og for eksempelet ovenfor ser en eksisterende og fungerende og fungerende side slik ut: