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 automatiskt lägger till anpassade fält vid publicering av inlägg i WordPress

Att automatiskt skapa anpassade fält när WordPress-inlägg publiceras är ett kraftfullt sätt att spara tid och minska repetitiva uppgifter, särskilt om du hanterar en stor webbplats eller arbetar med anpassad funktionalitet.

Istället för att manuellt lägga till samma anpassade fält varje gång du publicerar en viss typ av innehåll, kan du automatisera processen och hålla saker konsekventa.

Vi har arbetat med många WordPress-projekt genom åren och byggt allt från enkla bloggar till komplexa webbplatser med avancerade funktioner. Längs vägen har vi plockat upp massor av praktiska tips som detta som kan göra ditt arbetsflöde snabbare och mer effektivt.

I den här handledningen visar vi dig hur du automatiskt lägger till anpassade fält när du publicerar inlägg i WordPress, steg för steg.

Hur man automatiskt lägger till anpassade fält vid publicering av inlägg i WordPress

Varför lägga till anpassade fält automatiskt?

Anpassade fält låter dig lägga till ytterligare information i dina inlägg. Denna information kan visas på din webbplats, hållas privat eller användas av teman och plugins för att utöka funktionaliteten hos din WordPress-webbplats.

Det finns många kreativa sätt att använda anpassade fält. Du hittar en lista med hjälpsamma idéer i vår guide tips, tricks och hacks för anpassade fält i WordPress.

I vissa fall vill du att ett anpassat fält ska skapas automatiskt när du publicerar ett inlägg. Detta är särskilt användbart när du lägger till funktionalitet i WordPress så att du kan använda det som mer än en enkel blogg.

Till exempel, på WPBeginner använde vi den här metoden när vi skapade en gallerwebbplats. Vi ville lagra korta URL:er för varje objekt som skickades till galleriet. Så vi skapade automatiskt ett anpassat fält för att lagra den korta URL:en när varje inlägg publicerades.

Den här typen av automatisering hjälper utvecklare att spara tid, minska fel och bygga kraftfullare WordPress-webbplatser med mindre manuellt arbete.

Nu ska vi gå igenom hur du ställer in det.

Lägga till anpassade fält automatiskt vid publicering av inlägg

Denna metod innebär att lägga till ett anpassat kodavsnitt i ditt temas functions.php-fil. Vi rekommenderar inte att oerfarna användare redigerar dina temafiler, eftersom även ett litet misstag kan förstöra din webbplats.

Istället visar vi dig hur du använder pluginet WPCode i den här handledningen.

WPCode

WPCode gör det enkelt att lägga till kodavsnitt i WordPress utan att behöva redigera din temas functions.php-fil. Du kan också hantera alla dina kodavsnitt från en central skärm.

Om detta är första gången du lägger till kod i WordPress, bör du kolla in vår guide om hur du kopierar och klistrar in kodavsnitt i WordPress för mer information.

För att komma igång behöver du installera och aktivera det kostnadsfria WPCode-pluginet. Om du behöver hjälp, se vår handledning om hur man installerar ett WordPress-plugin.

Notera: Den kostnadsfria versionen av WPCode har allt du behöver för att lägga till anpassad kod i WordPress. För mer avancerade funktioner som schemalagda kodsnuttar, konverteringspixlar och mer, kan du uppgradera till WPCode Pro.

När pluginet är aktiverat läggs ett nytt menyalternativ märkt 'Kodavsnitt' till i din WordPress adminmeny. Klicka på det och tryck sedan på knappen 'Lägg till nytt' på nästa skärm.

Klicka på knappen Lägg till ny för att lägga till ditt första anpassade kodavsnitt i WPCode

Detta tar dig till WPCode:s kodsnuttbibliotek.

Navigera härifrån till alternativet 'Lägg till din anpassade kod (nytt kodavsnitt)' och klicka på knappen '+ Lägg till anpassat kodavsnitt' under den.

Klicka på knappen Lägg till anpassad kodsnutt

Välj sedan 'PHP Snippet' som kodtyp från listan med alternativ som dyker upp på skärmen.

Välj PHP-avsnitt som kodtyp

Därefter behöver du ge kodavsnittet en titel och sedan kopiera följande kod och klistra in den i rutan 'Kodförhandsgranskning'.

add_action('publish_page', 'add_custom_field_automatically');
add_action('publish_post', 'add_custom_field_automatically');
function add_custom_field_automatically($post_ID) {
    global $wpdb;
    if(!wp_is_post_revision($post_ID)) {
        add_post_meta($post_ID, 'field-name', 'custom value', true);
    }
}

Du måste ersätta 'field-name' och 'custom value' med det faktiska namn och värde du vill använda för det anpassade fältet.

Klistra in kodavsnitt i WPCode-kodruta

Bläddra sedan ner till avsnittet 'Infogning'. Här måste du lämna metoden 'Automatisk infogning' vald.

Välj infogningsmetod för ditt anpassade kodavsnitt

Med metoden för automatisk infogning kommer kodavsnittet automatiskt att infogas och köras på rätt plats.

När du är klar behöver du växla omkopplaren från 'Inaktiv' till 'Aktiv' och sedan klicka på knappen 'Spara avsnitt'.

Spara och aktivera ditt anpassade kodavsnitt

När kodavsnittet är aktiverat kommer det anpassade fältet att skapas varje gång du publicerar ett inlägg.

Vi hoppas att den här handledningen hjälpte dig att lära dig hur du automatiskt lägger till anpassade fält vid publicering av inlägg i WordPress. Du kanske också vill lära dig hur man visar anpassade fält utanför loopen i WordPress eller kolla in 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

18 CommentsLeave a Reply

  1. Om jag har en webbplats med flera användare och vill att en författarbiografi automatiskt ska infogas när en artikel publiceras, kan den här guiden användas? Det vill säga, kan anpassade fält användas för att säkerställa att en kort biografi av författaren infogas i början beroende på vem som skriver artikeln? Jag skulle vilja att det automatiseras på detta sätt. För närvarande gör vi detta med Elementor, där varje författare har sin mall sparad och måste manuellt infoga den i början.

  2. Jag behöver lägga till denna åtgärd för anpassad inläggstyp som heter 'ad_system'

  3. Jag vill lägga till kategori-ID för inlägget i tabellen post_meta. Hur kan funktionen function add_custom_field_automatically($post_ID) justeras för att rymma det?

    Tack

  4. Istället för att lägga till det anpassade fältet vid tidpunkten för skapandet av inlägget, hur visar jag ett anpassat fält som standard på adminsidan?

    • Om du märker, koden ovan har inget relaterat till de anpassade inläggstyperna. Den lägger bara till "innehållstyp" för Inlägg och Sida. Så du skulle behöva specificera kroken för din anpassade inläggstyp.

      Admin

      • Tack för svaret. Kan du hjälpa mig med den här koden.
        add_action(‘publish_page’, ‘add_custom_field_automatically’);
        add_action(‘publish_post’, ‘add_custom_field_automatically’);
        add_action( ‘save_post’, ‘add_custom_field_automatically’ );

        function add_custom_field_automatically($post_ID) {
        global $post;
        if(!wp_is_post_revision($post_ID)) {
        global $wpdb;
        $user_id = $wpdb->get_var("SELECT post_author FROM $wpdb->posts WHERE ID = $post_ID");
        $themename = $wpdb->get_var("SELECT meta_value FROM $wpdb->usermeta WHERE meta_key = ‘themeperauthor’ AND user_id = $user_id");
        add_post_meta($post_ID, ‘themeperauthor’, $themename, true);
        }
        }
        När användarens meta-fält ändras vill jag automatiskt ta bort det anpassade fältets värde och uppdatera med det nya

  5. Jag har arbetat med att lägga till några dolda anpassade fält vid publicering/uppdatering av inlägg (genom att föregå fältnamnet med '_') men av någon anledning måste jag uppdatera inlägget två gånger innan wp_postmeta-posterna skrivs till databasen.

    Jag har försökt ändra prioritet och experimentera med andra action hooks (draft_to_publish, edit_post, etc) men det verkar inte göra någon skillnad.

    Några idéer?

  6. kommer detta också att fungera för anpassade inläggstyper?
    sth som add_action(‘publish_custom-post-typ-name’, ‘add_custom_field_automatically’);

    • Ja, det kommer det.

      En nackdel med denna teknik som folk bör vara medvetna om är att om någon redigerar ett publicerat inlägg, kommer denna hook att köras igen vid redigeringen. Därför måste du kontrollera meta innan du lägger till den, eller uppdaterar den, eller gör vad som helst som är mest vettigt för ditt användningsfall.

      Om du bara vill att din kod ska köras vid den första publiceringen, kan du använda kroken transition_post_status. Denna krok fungerar så här:


      add_action('transition_post_status','example',10,3);
      function example($new, $old, $post) {
      // $new är det nya inläggsstatuset ('publish')
      // $old är den gamla inläggsstatusen ('draft')
      // $post är det kompletta inläggsobjektet (så använd $post->ID för ID, etc.)
      }

      Sedan, här inne kan du göra en kontroll för något sådant här:

      if ($new == 'publish' && $old != 'publish')

      För att din kod endast ska användas när inläggsstatusen faktiskt övergår till publicerad från vad den var tidigare. Denna krok utlöses samtidigt som krokarna {$status}_{$post-type}, så deras funktion är i princip densamma.

  7. tack för detta användbara tips. tidigare när jag använde anpassade fält var jag tvungen att arbeta manuellt. nu kommer detta att göra det automatiskt. tack för att du sparade min dyrbara tid

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.