Pålitliga WordPress-handledningar, när du behöver dem som mest.
Nybörjarguide till WordPress
WPB Cup
25 miljoner+
Webbplatser som använder våra plugins
16+
År av WordPress-erfarenhet
3000+
WordPress-handledningar
av experter

Hur man skapar anpassade mallar för enskilda inlägg i WordPress

En av våra läsare frågade oss hur man skapar anpassade mallar för enskilda inlägg i WordPress.

På WPBeginner har vi hjälpt många webbplatsägare att förbättra sina bloggar med unika layouter för enskilda inlägg. Anpassade mallar för enskilda inlägg låter dig använda olika designer för dina blogginlägg, vilket ger varje inlägg ett distinkt utseende. Många WordPress-teman erbjuder några sidmallar, men du kan också skapa egna om det behövs.

I den här artikeln visar vi flera metoder för att enkelt skapa anpassade mallar för enskilda inlägg i WordPress, så att du kan välja den som bäst passar dina behov.

Hur man skapar anpassade mallar för enskilda inlägg i WordPress

När behöver du en anpassad mall för enskilda inlägg?

Ibland kanske du vill ha ett annat utseende och känsla för vissa inlägg på din WordPress-webbplats. Du kanske till exempel vill använda en annan layout för utvalda artiklar eller berättelser i en viss kategori.

Det är här du behöver en anpassad mall för enskilda inlägg i WordPress.

Som standard använder WordPress mallen för enstaka inlägg baserat på WordPress mallhierarki. Alla teman kommer med en single.php-mall, och denna används som standard för alla dina enstaka inlägg.

Vissa teman kan också inkludera ytterligare mallar eller layoutval som du kan använda.

Det är väldigt likt att skapa en anpassad sidmall. De flesta WordPress-teman levereras också med sidmallar som du kan använda när du redigerar ett inlägg eller en sida i WordPress.

Välja en sidmall

Med det sagt, låt oss titta på hur du enkelt skapar anpassade mallar för enskilda inlägg i WordPress. Vi visar dig flera metoder, så att du kan använda den som fungerar bäst för dig.

Skapa mallar för enskilda inlägg med blockredigeraren

Den här metoden skapar egentligen inte en inläggsmall och är begränsad i flexibilitet. Det är dock det enklaste sättet att spara dina egna layouter för enskilda inlägg och sedan återanvända dem.

Den inbyggda WordPress blockredigerare har en inbyggd funktion som låter dig spara och återanvända block. Ett sådant återanvändbart block är gruppblocket.

Gruppblocket låter dig placera flera block och hela inläggslayouter i en grupp. Du kan sedan spara detta gruppblock och återanvända det i dina andra inlägg.

Låt oss titta på hur du använder gruppblocket för att spara dina anpassade inläggsmallar.

Först behöver du skapa ett nytt inlägg i WordPress. Därefter lägger du helt enkelt till ett gruppblock i innehållsområdet.

Lägg till gruppblock

Nu kan du börja lägga till block i gruppblocket för att skapa en enskild inläggslayout för din WordPress-blogg.

Du kan lägga till vilka block du vill, inklusive kolumner, media och text, omslagsbilder och mer.

Lägg till block i gruppen

När du är nöjd med layouten du har skapat, behöver du flytta musen upp och välja gruppblocket.

Klicka helt enkelt på ikonen med tre punkter i menyn och välj sedan alternativet 'Lägg till i återanvändbara block'.

Lägg till återanvändbar block

Därefter behöver du ange ett namn för det återanvändbara blocket och sedan klicka på knappen Spara. WordPress kommer nu att spara ditt återanvändbara block, inklusive alla block inuti gruppblocket.

Du kan sedan redigera ett befintligt inlägg på din webbplats eller skapa ett nytt. På skärmen för att redigera inlägg klickar du helt enkelt på knappen för att lägga till ett nytt block och letar efter ditt sparade block under fliken ‘Återanvändbara’.

Återanvänd block

Lägg till blocket i ditt inlägg, och WordPress kommer att ladda hela din gruppblock med alla block och inställningar som du sparade dem.

Den här metoden låter dig spara dina egna layouter. Den tillåter dig dock inte att ändra hur ditt tema hanterar enskilda inlägg.

Om du vill ha större flexibilitet, fortsätt att läsa nästa steg.

Skapa anpassade mallar för enskilda inlägg med SeedProd

Det enklaste sättet att skapa en anpassad mall för enskilda inlägg är att använda SeedProd. Det är den bästa plugin för WordPress webbplatsbyggare och kan skapa vackra webbplatslayouter och anpassade mallar utan att skriva någon kod.

Du kan använda SeedProds dra-och-släpp-byggare för att skapa ett helt anpassat WordPress-tema, inklusive anpassade mallar för enskilda inlägg.

Det första du behöver göra är att installera och aktivera SeedProd plugin. För mer information, se vår steg-för-steg-guide om hur man installerar ett WordPress-plugin.

Vid aktivering måste du ange din licensnyckel. Du hittar denna information under ditt konto på SeedProd-webbplatsen.

SeedProd licensnyckel

Därefter är det dags att skapa ett anpassat WordPress-tema. Detta är mycket enklare än det låter.

Skapa ett anpassat WordPress-tema

Först måste du gå till sidan SeedProd » Temabyggare . Här använder du ett av SeedProds färdiga teman som utgångspunkt. Detta kommer att ersätta ditt befintliga WordPress-tema med en ny, anpassad design.

Du kan göra det genom att klicka på knappen 'Teman'.

Skapa ditt anpassade tema

Du kommer att visas en lista över professionellt utformade teman för olika typer av webbplatser. Till exempel finns det mallar som heter 'Modern Business', 'Marketing Agency' och 'Mortgage Broker Theme'.

Titta igenom alternativen och välj ett som bäst matchar dina behov genom att klicka på kryssikonen.

Välj ett tema som matchar dina behov

När du har valt ett tema kommer SeedProd att generera alla temamallar du behöver, inklusive en för enskilda sidor och en annan för enskilda inlägg.

Varje mall levereras med attraktiva layouter och platshållarinnehåll som är lätt att anpassa.

SeedProd skapar alla mallar du behöver för ditt tema

För att lära dig mer om att skapa ett tema med SeedProd, se vår guide om hur du enkelt skapar ett anpassat WordPress-tema utan kod.

Anpassa standardmallen för enskilda inlägg

SeedProd gör det enkelt att anpassa standardmallen för 'enskilda inlägg' med en dra-och-släpp-sidbyggare.

Klicka helt enkelt på länken 'Redigera design' som finns under mallen. Detta öppnar din inläggsmall i SeedProds visuella redigerare.

Klicka på länken 'Redigera design' under mallen för enskilda inlägg

SeedProd:s visuella redigerare har en layout med 2 kolumner. Till vänster hittar du block och sektioner som du kan lägga till i din design.

Till höger finns en förhandsgranskning av mallen där du kan se dina ändringar i realtid.

SeedProd visuella redigeringsblock och sektioner

Det är också enkelt att anpassa layouten för din inläggsmall. Klicka bara på valfritt block för att se dess inställningar i den vänstra kolumnen.

Om du till exempel klickar på inläggstiteln kan du se dess inställningar. Nu kan du ändra justering, teckenstorlek, rubriknivå och mer.

Klicka på ett block för att ändra dess inställningar

Genom att klicka på fliken Avancerat kan du ändra teckensnittsfärger, avstånd och andra stilar.

Du kan lägga till ytterligare block genom att dra dem från den vänstra kolumnen till förhandsgranskningskolumnen. SeedProd använder mall-taggar för att hämta dynamiskt innehåll som inläggstitlar,   utvalda bilder,   kommentarer och mer. Detta gör att du kan lägga till innehåll i mallen utan att behöva redigera varje inlägg individuellt.

Du kan till exempel lägga till ett inläggsblock i slutet av ditt inläggsinnehåll. Detta kommer att visa de senaste inläggen som dina besökare kanske vill läsa när de har avslutat det aktuella inlägget. Detta block kommer att visas automatiskt på alla inlägg som använder den här mallen.

Lägg till ett inläggsblock längst ner i din mall för enstaka inlägg

Därefter kan du ändra inställningarna för blocket Inlägg för att anpassa innehållet som visas.

Till exempel kan du visa innehåll från specifika kategorier, använda en tvåkolumnslayout och ändra antalet inlägg som visas.

SeedProd Inläggsblockinställningar

Känn dig fri att spendera tid på att experimentera med olika block och utforska deras inställningar.

Efter att ha skapat något du vill använda som din inläggsmall är det dags att spara den genom att klicka på den gröna ‘Spara’ knappen längst upp till höger. Därefter kan du stänga SeedProd visuella redigerare genom att klicka på ‘X’ stängningsikonen.

När du är klar, spara mallen för enskilda inlägg

Du kan anpassa resten av ditt WordPress-tema på samma sätt. Men om du behöver lite hjälp, hänvisa tillbaka till vår steg-för-steg-guide om hur man skapar ett anpassat WordPress-tema med SeedProd.

När du är nöjd med hur allt ser ut, se till att reglaget 'Aktivera SeedProd-tema' är påslaget. Din WordPress-webbplats kommer nu att använda ditt SeedProd-tema och din anpassade mall för enskilda inlägg.

Aktivera SeedProd-temat

Använda temainställningar för att skapa anpassade layouter för enskilda inlägg

Många populära WordPress-teman kommer med inbyggda inställningar för att anpassa utseendet på din mall för enskilda inlägg.

Om ditt tema stöder dessa inställningar, kommer du att kunna hitta dem på inläggsredigeringsskärmen. De tillgängliga alternativen kan ändras beroende på vilket tema du använder.

Till exempel erbjuder Astra-temat anpassningsalternativ när du redigerar ett enskilt inlägg. Med dessa alternativ kan du ändra sidofält, dölja rubriker, titlar, menyer och mer.

Anpassning av Astra-temats mall för enskilda inlägg

Å andra sidan kommer många av de bästa WordPress-teman med färdiga mallar som du kan använda.

Om ditt tema inkluderar mallar för enskilda inlägg, hittar du dem under panelen 'Mall' eller 'Inläggsattribut' när du redigerar ett inlägg.

Välja en mall när du skriver ett enskilt inlägg

Dessa mallar är kompletta layouter som du kan använda utan någon konfiguration.

Skapa manuellt anpassade mallar för enskilda inlägg med kod

Den här metoden är lite avancerad eftersom den kräver att du redigerar temafiler, kopierar och klistrar in kod, och eventuellt lägger till anpassad CSS. Om du inte har gjort detta tidigare, kolla in vår handledning om hur man kopierar och klistrar in kod i WordPress.

Först behöver du öppna en enkel textredigerare på din dator, som Anteckningar, och klistra in följande kod i den:

<?php
/*
 * Template Name: Featured Article
 * Template Post Type: post, page, product
 */
  
 get_header();  ?>

Den här koden definierar en ny mall som heter 'Featured Article' och gör den tillgänglig för inlägg, sidor och produkter inläggstyper.

Du bör spara den här filen som wpb-single-post.php på ditt skrivbord. Därefter måste du lägga till mallen på din WordPress-webbplats. För att göra det måste du använda en FTP-klient för att ladda upp filen till din nuvarande temamapp.

Nu kan du logga in i ditt WordPress-adminområde och skapa eller redigera ett inlägg. Skrolla ner lite på sidan för redigering av inlägg, och du kommer att märka en ny panel 'Mall' eller en metaruta 'Inläggsattribut' med ett alternativ för att välja mall.

Välj din anpassade inläggsmall

Du kommer att se din anpassade mall för 'Utvald artikel' listad där.

Just nu är din mall i princip tom, så att välja den kommer bara att visa en vit skärm.

Låt oss fixa det här.

Det enklaste sättet att göra det är att kopiera koden från din temas single.php-fil och använda den som utgångspunkt. Du måste öppna single.php-filen och sedan kopiera allt efter raden get_header().

Därefter behöver du klistra in den här koden i slutet av din fil wpb-single-post.php. Nu kan du spara filen och ladda upp den tillbaka till din server.

Detta kommer dock att se exakt likadant ut som din nuvarande mall för enskilda inlägg. Du kan nu börja göra ändringar i din anpassade mall för enskilda inlägg.

Du kan lägga till dina egna anpassade CSS-klasser, ta bort sidofält, skapa en helsidesbredd-mall, eller vad du vill.

Skapa anpassade mallar för enskilda inlägg per kategori

Vill du använda en anpassad mall för enskilda inlägg baserat på kategorier? Du kan till exempel ge inlägg i kategorin resor ett annat utseende än inlägg i kategorin fotografi.

Du kan göra det genom att använda antingen SeedProd Theme Builder eller kod.

Skapa anpassade mallar för enskilda inlägg per kategori med SeedProd

Tidigare gick vi igenom hur man anpassar SeedProd Theme Builders standardmall för enskilda inlägg. Men det stannar inte där. Med SeedProd kan du lägga till så många anpassade inläggsmallar du vill, till exempel en annan layout för varje inläggskategori.

För att lägga till en ny mall för enskilda inlägg, klicka bara på länken 'Duplicera' under den ursprungliga mallen för inlägget. En ny mall som heter 'Enskilt inlägg – Kopia' kommer att skapas och läggas till överst på sidan med temamallar.

Skapa en ny inläggsmall genom att duplicera standardinläggsmallen

Du kan anpassa den nya mallen på samma sätt som du tidigare anpassade standardmallen för enskilda inlägg. Klicka helt enkelt på mallens länk 'Redigera design' och gör de ändringar du vill med SeedProds visuella redigerare.

När du är klar med att anpassa mallen måste du lägga till några villkor så att SeedProd vet vilka inlägg som ska använda denna mall. I det här fallet vill vi att den ska visas när man tittar på inlägg inom en enskild kategori.

Klicka på länken 'Redigera villkor'

Du kan göra det genom att klicka på mallens länk 'Redigera villkor' och ett nytt fönster kommer att dyka upp.

Här kan du ge mallen ett namn och en prioritet. Standardmallen för enskilda inlägg har prioritet 0, så se till att ge den här mallen en högre prioritet så att den visas för matchande kategorier.

Lägg till villkor för att visa mallen för en viss kategori

Under 'Villkor', välj 'Har kategori' från den andra rullgardinsmenyn, skriv sedan namnet på kategorin i det sista fältet. Om du till exempel bara vill att inlägg från kategorin fotografi ska använda den här layouten, skriv då 'fotografi'.

När du är klar klickar du på knappen 'Spara' och nu kommer den här mallen att användas för alla inlägg i den matchande kategorin.

Detta är det enklaste sättet att skapa flera anpassade inläggsmallar i WordPress. Det kräver ingen kodkunskap och kommer inte att råka förstöra några temafiler.

Skapa anpassade mallar för enskilda inlägg per kategori med kod

Detta är en annan metod för dem som är bekväma med att lägga till kod i sina temafiler.

Först måste du lägga till den här koden i din temas functions.php-fil eller ett kodavsnittsprogram.

/*
* Define a constant path to our single template folder
*/
define(SINGLE_PATH, TEMPLATEPATH . '/single');
 
/**
* Filter the single_template with our custom function
*/
add_filter('single_template', 'my_single_template');
 
/**
* Single template function which will choose our template
*/
function my_single_template($single) {
global $wp_query, $post;
 
/**
* Checks for single template by category
* Check by category slug and ID
*/
foreach((array)get_the_category() as $cat) :
 
if(file_exists(SINGLE_PATH . '/single-cat-' . $cat->slug . '.php'))
return 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;
}

Den här koden kontrollerar först om WordPress begär ett enskilt inlägg. Om så är fallet, talar den om för WordPress att leta efter mallen i mappen /single/ i ditt WordPress-tema.

Nu behöver du lägga till mallfiler som definieras av denna kod.

Anslut till din WordPress-värd med en FTP-klient eller filhanteraren i cPanel och gå till /wp-content/themes/din-tema-mapp/.

Inne i din nuvarande temamapp måste du skapa en ny mapp som heter 'single'. Därefter måste du öppna den här mappen och skapa en ny fil. Namnge den här filen single-cat-{category-slug}. Ersätt {category-slug} med din faktiska kategorislugg.

Till exempel, om du har en kategori som heter 'Nyheter', då skapar du filen single-cat-news.php. Om du har en kategori som heter 'Resetips', då skapar du en mall single-cat-travel-tips.php, och så vidare.

Skapa mall för enskilda inlägg för kategorier

Nu kommer dessa mallfiler att vara helt tomma. Som en utgångspunkt kan du kopiera innehållet i din single.php-fil från din temamapp och klistra in dem i var och en av dessa mallar. Därefter måste du redigera dessa mallar för att göra dina önskade ändringar.

När du är klar kan du gå till din webbplats och visa ett inlägg. Det kommer att använda mallen som du har skapat för den kategori där detta inlägg är arkiverat.

Låt oss nu anta att du har ett inlägg som tillhör två kategorier: Nyheter och Resetips. WordPress kommer automatiskt att visa mallen för 'Nyheter' eftersom den kommer först i alfabetisk ordning.

Å andra sidan, om du arkiverade ett inlägg i en kategori och inte skapade en mall för den kategorin, kommer WordPress att återgå till standard single.php-mallen för ditt tema.

Skapa anpassade mallar för enskilda inlägg för specifika författare

Låt oss anta att du vill att inlägg skrivna av en specifik författare ska se annorlunda ut på din webbplats. Du kan göra det med kod genom att följa samma teknik som vi visade för kategorier.

Först måste du lägga till den här koden i din temas functions.php-fil eller ett kodavsnittsprogram.

/**
* Define a constant path to our single template folder
*/
define(SINGLE_PATH, TEMPLATEPATH . '/single');
 
/**
* Filter the single_template with our custom function
*/
add_filter('single_template', 'my_single_author_template');
 
/**
* Single template function which will choose our template
*/
function my_single_author_template($single) {
global $wp_query, $post;
 
/**
* Checks for single template by author
* Check by user nicename and ID
*/
$curauth = get_userdata($wp_query->post->post_author);
 
if(file_exists(SINGLE_PATH . '/single-author-' . $curauth->user_nicename . '.php'))
return SINGLE_PATH . '/single-author-' . $curauth->user_nicename . '.php';
 
elseif(file_exists(SINGLE_PATH . '/single-author-' . $curauth->ID . '.php'))
return SINGLE_PATH . '/single-author-' . $curauth->ID . '.php';
 
}

Därefter bör du ansluta till din webbplats med FTP eller cPanel filhanterare i cPanel och sedan gå till /wp-content/themes/din-tema-mapp/. Om du inte redan har skapat en mapp som heter /single/ inuti den, så gör det nu.

Inne i den här mappen måste du skapa en mall med författarens användarnamn i mallnamnet. Till exempel, single-author-johnsmith.php.

Den här mallen kommer att vara tom, så du kan kopiera och klistra in innehållet i din temas single.php-mall och använda det som utgångspunkt.

Du kan nu besöka din webbplats för att se ett inlägg skapat av en specifik författare. Det kommer att använda mallen du skapade.

Vi hoppas att den här artikeln hjälpte dig att lära dig hur du skapar anpassade mallar för enskilda inlägg i WordPress. Du kanske också vill lära dig hur man spårar webbplatsbesökare till din WordPress-webbplats, eller se vår lista över måste ha WordPress-plugins för att växa din webbplats.

Om du gillade den här artikeln, prenumerera då på vår YouTube-kanal för WordPress-videoguider. Du kan också hitta oss på Twitter och Facebook.

Upplysning: Vårt innehåll stöds av läsarna. Det innebär att om du klickar på några av våra länkar kan vi tjäna en provision. Se hur WPBeginner finansieras, varför det är viktigt och hur du kan stödja oss. Här är vår redaktionella process.

Det ultimata WordPress-verktyget

Få GRATIS tillgång till vår verktygslåda - en samling WordPress-relaterade produkter och resurser som alla proffs bör ha!

Läsarnas interaktioner

71 CommentsLeave a Reply

  1. Jag ser inte alternativet "Lägg till i återanvändbara block" i exemplet Skapa mallar för enskilda inlägg med blockredigeraren

    Använda aktivt tema

    • Depending on the specific block you may see the option to add it to patterns instead which is likely what you are running into :)

      Admin

    • Om det finns en del av vår design du gillar kan du återskapa den på din webbplats.

      Admin

  2. Jag får det här meddelandet när jag försöker använda koden:

    Varning: call_user_func_array() förväntar sig parameter 1 som en giltig återuppringning, funktionen 'my_single_template' hittades inte eller ogiltigt funktionsnamn.

    Några idéer om varför?

  3. Allt bra men det bryter standard single.php.

    Med andra ord fungerar inte detta "Å andra sidan, om du arkiverade ett inlägg i en kategori och inte skapade en mall för den kategorin, kommer WordPress att falla tillbaka till standardmallen single.php i ditt tema."

    Någon lösning?

  4. Hej, jag försöker följa steget:
    Öppna filen single.php och kopiera sedan allt efter raden get_header().
    Under:
    Manuell skapning av anpassade mallar för enskilda inlägg i WordPress
    Jag har dock ingen funktion som heter "get_header()" i den filen.

    • Ditt specifika tema kan ha unik kodning, vi rekommenderar att du kontaktar supporten för ditt specifika tema och de bör kunna hjälpa till.

      Admin

  5. Tack för detta. Alla mina automatiskt genererade filer (författare, hittades inte etc.) använder min webbplatsmall och lägger sedan en vit sektion med vit text på sidan. Den börjar också högst upp på sidan (så det är vit text på en vit bakgrund mestadels dold bakom en sidhuvud)

    Jag tror att din artikel kommer att hjälpa mig att reda ut den här röran.

    Tack

    • Our article should help and if you reach out to your theme’s support they may be able to assist as well :)

      Admin

    • Mallarna bör fortfarande hittas under sektionen längst upp till höger i innehållspanelen

      Admin

  6. Har jag rätt i att tänka att när du skapar en PHP-fil för en anpassad inläggsmall, för att den ska fungera som en mall, måste du fortfarande koda PHP-filen, eftersom det inte finns något sätt att spara ett nytt inlägg som en mall. Är detta korrekt?

    Tack för din hjälp.

    • Det stämmer, för att ändra mallen om du inte använder en sidbyggare finns det ingen metod för att ställa in den utan kodning.

      Admin

  7. Hej författare,

    Jag följde stegen som du nämnde. Jag har CPT-album. single-albums.php kopierade samma kod till en annan fil wpb-single-albums.php och lade till mallkod som /*
    * Mallnamn: anpassad mall
    * Mallinläggstyp: album
    */
    och gjorde några nödvändiga ändringar. Men efter att ha valt den här mallen i redigera inlägg visas den som standard (single-albums.php) sida.

    Hur kan jag fixa detta, snälla hjälp

    • Du kanske vill kontrollera den aktuella fungerande mallen för att säkerställa att du har rätt inläggstyp

      Admin

  8. Tack för ditt utmärkta inlägg. Jag har 2 frågor: Är mallar för enskilda inlägg samma som mallar för anpassade inläggstyper? Om de är olika, kan du visa mig hur jag skapar en mall för en anpassad inläggstyp?

  9. hej
    tack för inlägget
    jag gjorde allt och det fungerade som jag ville.
    men jag hade ett litet problem
    efter att ha lagt till koden i function.php slutade single.php att visa data
    finns det något jag kan göra?

    • You would need to create the folder as we explain after the code in the article :)

      Admin

  10. Hej, tack för din handledning…

    Enligt din handledning har jag skapat en anpassad inläggstyp. Men nu har jag ett problem med kommentarer. När jag skickar in kommentaren omdirigeras den till sök...
    Snälla föreslå en lösning på detta..
    Tack på förhand

  11. Hej.

    I’m using this & enjoying it greatly! :)
    However, I’m finding the following warning in my error logs around this code:

    [warn] mod_fcgid: stderr: PHP Warning: Use of undefined constant SINGLE_PATH – assumed ‘SINGLE_PATH’ (this will throw an Error in a future version of PHP)

    Några tankar om hur man fixar det?

    Ditt utdrag börjar med “define(SINGLE_PATH,…” så jag är inte säker på vad mer jag ska göra här.

    • That error is saying it wants SINGLE_PATH to be surrounded by single quotes (”) which you can do for that warning :)

      Admin

  12. Så jag följde dina steg och det fungerar för den nya kategorins slug-inläggssida men inte för standard-single.php.

    Hur kan jag få detta att fungera? Kanske är standardvägen för single.php fel?

    Tack!

  13. Hej,

    Jag tänker för mycket på detta men... om jag vill att varje blogginlägg ska se likadant ut, skapar jag bara Layouten (jag använder Divi-temat), använder ovanstående första metod (gör en ny version av single.php med rätt namn) och väljer det varje gång jag vill skapa ett inlägg? Är det så enkelt?

    Dessutom, för att lägga till anpassad CSS, lägger du till det i php-filen, och hur? Var i den lägger du till det? Hur ska det se ut? Det är den delen som jag ännu inte har hittat någon referens för hur man gör. Kan du ge ett exempel baserat på att bara ha varje blogginlägg se ut på ett sätt?

    Tack

  14. Hej, tack för bra handledningar. Det fungerar fantastiskt men inte för nya kategorier, som inte har en speciell mall. Tyvärr hämtar den inte koden från standardfilen single.php. Jag skulle uppskatta lite hjälp med hur jag får det att fungera.

  15. Hej, tack för handledningen!

    Jag har en fråga. Hur skulle vi tillämpa anpassad CSS som bara skulle påverka inläggssidorna?

    Tack

  16. Vad händer om du vill att din nya mall ska vara standard för allt. Så att när ett inlägg skapas, väljs det automatiskt som standardmall?

  17. Jag slår vad om att det finns plugins som du kan använda för att göra jobbet utan krångel med kodning och barn-teman. Det hade varit bra om du hade undersökt och delat det i det här inlägget också.

  18. Jag använder din metod men jag kan inte ställa in anpassad CSS för dessa inlägg.
    Till exempel, i function.php när jag kontrollerar is_page_template(‘single-cat-news’) blir villkoret inte sant och min anpassade CSS för den här typen av inlägg körs inte. Vad ska jag göra i det här fallet?

    • Sant.
      Jag har också det här problemet. Fullbreddsmallen fungerar bra för inlägg och sidor men när det gäller anpassade inläggstyper fungerar inte CSS-koderna och går tillbaka till normal sidstorlek utan sidofält.
      Jag har svårt att hitta en lösning på det problemet.

  19. Behöver lite mer hjälp med detta…

    Genom att följa instruktionerna på den här sidan (tillsammans med de små ändringar som noterats i mina kommentarer den 2/12/17 och 12/12/17) har jag lyckats få detta att fungera tillförlitligt.

    HÄRMED har jag stött på problemet att användning av denna metod för att anropa en anpassad mall inte verkar registreras med anropet av body_class-klasser.

    Till exempel, om jag ställer in en anpassad mall på en sida (där jag använder WordPress 'mall'-nedrullningsmenyn inom sidopanelen 'Sidattribut' i redigeringsvyn – då skulle de body_classes som matas ut inkludera det mallnamnet.

    Som till exempel:

    <body class="page-template-my_custom_template page page-id-2..."

    Men, med den här metoden, returnerar body-klasserna bara:

    <body class="page-template-default page page-id-2..."

    Någon idé om hur man säkerställer att kroppsklasserna återspeglar en anpassad mall för enskilda inlägg?

    • Här är svaret (åtminstone för mitt tema – din upplevelse kan variera).

      Att lägga till följande i [b]functions.php[/b] löste problemet för mig:

      add_filter('body_class','add_category_to_single');
        function add_category_to_single($classes) {
          if (is_single() ) {
            global $post;
            foreach((get_the_category($post->ID)) as $category) {
              // add category slug to the $classes array, starting with 'category-'...
              $classes[] = "category-$category->category_nicename";
            }
          }
          // return the $classes array
          return $classes;
        }
      
  20. Jag skapade en fil single-cat-news.php för "Nyheter". Min "Nyheter"-kategori har två barn: "Kamera" och "Smartphone". Inlägget i "Smartphone" visas i single-cat-news.php (S efter N i alfabetet), men inlägget i "Kamera" visas i standardmallen single.php (C före N i alfabetet). Jag vill att inlägget i "Kamera" ska visas i single-cat-news.php, vad måste jag göra? Jag valde både "Nyheter" och "Kamera" för mitt inlägg.

  21. Im viewing your Blog from last 2 years. I explored whole web to find this but i got the correct working code from here i just love your Blog keep it up :)

  22. När jag använde det här tillvägagångssättet för att specificera en anpassad inläggsmall för ett enskilt inlägg inom en specifik kategori, märkte jag att WordPress INTE återgick till single.php i fall där en single-cat-WHATEVER.php-fil inte fanns för en specifik kategori.

    Jag löste detta genom att lägga till följande rad före slutet av funktionen:

    annars
    return SINGLE_PATH . '/single.php';

    Så att, denna kod:


    /**
    * Kontrollerar enskild mall per kategori
    * Kontrollera efter kategorislugg och ID
    */
    foreach((array)get_the_category() as $cat) :

    if(file_exists(SINGLE_PATH . '/single-cat-' . $cat->slug . '.php'))
    return 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; }

    Blev detta:


    /**
    * Kontrollerar enskild mall per kategori
    * Kontrollera efter kategorislugg och ID
    */
    foreach((array)get_the_category() as $cat) :

    if(file_exists(SINGLE_PATH . '/single-cat-' . $cat->slug . '.php'))
    return 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';

    annars
    return SINGLE_PATH . '/single.php';

    endforeach; }

    Verkar detta vara rätt tillvägagångssätt? Eller finns det något annat jag kan ha gjort för att bryta standardfunktionaliteten?

  23. Tack för denna tydliga "hur man gör".

    En notering: för oss som använder ett BARN TEMA, har jag upptäckt att ändra...

    define(SINGLE_PATH, TEMPLATEPATH . ‘/single’);

    till:

    define(SINGLE_PATH, get_stylesheet_directory() . ‘/single’);

    (inom avsnittet “Definiera en konstant sökväg till vår mapp för enskilda mallar”) säkerställer att barn-temats katalog kontrolleras för enskilda mallar istället för föräldratemats katalog.

    Detta kan också vara anledningen till att det inte fungerar för några av de andra kommentatorerna ovan.

    Lycka till allihopa!

    • Tack så mycket för din hjälp! Jag undrade varför den fortsatte att peka mig tillbaka till föräldratemat istället för barn temat.

  24. Jag kan inte få detta att fungera för mig, mallen visas aldrig i inläggsredigeraren även efter att jag rensat min cache.

  25. Tack för den här artikeln.
    Jag vill veta hur jag ytterligare kan anpassa layouten för den här enskilda anpassade inläggsmallen, till exempel genom att placera en bild i inlägget före innehållet och i sidfoten.

  26. Hej,
    Jag behöver ändra ordningen på 3 saker på inläggssidan som finns längst ner i artikeln:
    1-en pagineringsplugin.
    2-en annons.
    3-sociala delningsikoner.

    Jag vill göra dem i följande ordning (vertikalt):
    1-annonsen
    2-ikonerna för social delning
    3-plugin för sidnumrering

    Hur kan jag göra det, snälla?

  27. Tack för dina utmärkta handledningar. Jag har problem med den här. Jag lade till koden i min functions.php men jag får inte den enskilda inläggsmallen. Behöver jag göra ett anrop till funktionen eller gör WordPress det? Finns det något sätt jag kan felsöka funktionen?

    Jag vill bara att inlägg i en viss kategori ska visas annorlunda när du länkar till dem.

  28. Jag ville skapa en anpassad inläggssida där registrerade användare på min webbplats kan publicera utan att använda WordPress standard post.php.

  29. Hej! Tack för den här handledningen, men jag är ganska ny inom webbdesign och jag har börjat skapa ett helt WordPress-tema. Allt fungerar bra på min webbplats, men jag försöker göra det möjligt att lägga till sidor som alla använder en mall jag skapat, (som sidan för en produkt i en katalog) men jag har ingen aning om hur jag ska göra det. Jag försökte först göra det genom att skapa en sidmall där jag satte in loopar som visar innehållet i en artikel eller en sida, som dess titel, dess text och värdena för några anpassade fält. För att göra det använde jag query_posts, men det kräver att man anger inläggets eller sidans id med "page_id=" eller "p=", vilket innebär att mallen är för en specifik sida, och jag skulle behöva skapa en mall för varje ny sida jag lägger till i den här katalogen, och manuellt ange id:t för sidan/inlägget i den, medan det jag ville var att skapa en enda mall för alla sidor i katalogen...
    Så när jag forskade för att hitta en lösning hittade jag din artikel, och jag försökte skapa ett inlägg med den nya mallen för enskilda inlägg, men oavsett vilken mall jag väljer i listan, när jag går till inläggets url visas min startsida... Jag gör förmodligen allt fel, och jag är inte ens säker på om jag förstod vad ett enskilt inlägg är och om det verkligen är vad jag behöver... Jag skulle verkligen uppskatta om du kunde ge mig några ledtrådar om vad jag borde göra för att lösa mitt problem, eller om det finns någon handledning någonstans som kan hjälpa mig...
    Tack,

    Pierrick.

    • Hej Pierrick,

      Vi är inte säkra på att vi förstår ditt problem helt. Men om du bara vill skapa en mall som ska användas av vilken sida som helst, då är anpassad sidmall rätt tillvägagångssätt. Eftersom du vill att användarna ska kunna se vilken sida som helst, betyder det att du inte behöver använda query_posts, din loop kommer att börja med standard

      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
      //
      		// Post Content here
      		//
      	} // end while
      } // end if
      ?>
      

      Admin

  30. Hej,

    Jag har en lokal installation med WP 3.7.x och Mallinläggstyp: inlägg, sida, produkt är inte tillgänglig.

    Hur kan jag skapa separata kategorier php-filer för varje inläggskategori???

    single-{slug}.php
    category-{slug}.php

    allt verkar inte fungera

    Några tips?

  31. Jag har konfigurerat detta för att fungera med kategorier, men när jag väljer ett inlägg som inte har någon kategori misslyckas det att plocka upp standardmallen och visar inte inlägget. Jag misstänker att mitt tema kan vara problemet. Hur skulle jag hårdkoda single.php i föräldrakatalogen som standard att använda om ingen kategorimall finns?

    Fungerar perfekt om jag kopierar single.php till filen /single/single-cat-name.php men jag vill inte ha 40+ dubblettfiler.

    • kopiera först single.php till /single-mappen

      inkludera sedan denna kod precis före slutet av foreach;

      else

      return SINGLE_PATH . ‘/single.php’;

  32. Det här är precis vad jag letade efter, tack för att du förklarade det så enkelt! Det lämnar mig dock med en fråga: Jag tog bort mitt sidofält men nu finns det bara ett tomt utrymme där det brukade vara. Hur kan jag sträcka ut huvudsektionen för att täcka hela utrymmet? Tack igen!

    • Hej Lyssie,

      Det beror på att ditt tema har definierat bredden på innehållsområdet i förhållande till sidofältet. Du måste använda inspektionsverktyget för att ta reda på vilken CSS-klass ditt innehållsområde använder och sedan justera genom att lägga till anpassad CSS för att göra det fullbredd.

      .page-template-full-width .content-area {
          width: 100%;
          margin: 0px;
          border: 0px;
          padding: 0px;
      }
      
      .page-template-full-width .site {
      margin:0px;
      }
      

      Se vår guide om hur du skapar helsidesbreddssida i wordpress

      Admin

      • Tack för det snabba svaret! Detta var mycket hjälpsamt! Nu, om jag ser:
        div id=”primary” class=”content-area”>

        när jag använder inspektionsverktyget, vilken är klassen som mitt innehållsområde använder?

        • Ops, det där blev inte riktigt rätt.
          div id=”primary” class=”content-area”
          main id=”main” class=”site-main” role=”main”

          artikel id="post-4773" class="post-4773 post type-post status-draft format-standard hentry category-travel-2"
          div id="featured-image"
          /div

        • Hej Lyssie,

          Ditt tema använder klassen content-area för att definiera innehållsblockets bredd. Du bör kunna se dess bredd när du använder inspektionsverktyget.

  33. Det där är en bra artikel och borde hjälpa en person som inte är kodare som jag. Anpassning av mallar skulle vara något skrämmande som du kanske bryter temat helt. Rekommenderar du att göra den anpassade mallen i ett barn-tema eller är det okej att göra det direkt i temat. Tack så mycket.

    • Hej Joe,

      Du kommer inte att ändra några av ditt temas befintliga filer. Istället kommer du att skapa en ny fil. Om något går fel kan du helt enkelt ta bort mallen och din webbplats kommer att återgå till det normala.

      Ja, att skapa ett barn-tema är den rekommenderade bästa metoden.

      Admin

      • När jag lägger filen i mitt barn-tema ser jag den i rullgardinsmenyn men den tillämpas faktiskt inte.

Lämna ett svar

Tack för att du väljer att lämna en kommentar. Tänk på att alla kommentarer modereras enligt vår kommentarspolicy, och din e-postadress kommer INTE att publiceras. Använd INTE nyckelord i namn fältet. Låt oss ha en personlig och meningsfull konversation.