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

46 extremt användbara knep för WordPress Functions File

Att göra små justeringar på din WordPress-webbplats kan kännas som att låsa upp dolda superkrafter. Med bara några rader kod i functions-filen kan du anpassa hur din webbplats fungerar – utan att behöva extra plugins.

Vi har spenderat åratal med att experimentera med functions.php-filen, och det är ett av de mest användbara verktygen i en WordPress-användares verktygslåda. Du kan lägga till anpassade funktioner, ta bort saker du inte behöver och finjustera din webbplats beteende med bara lite kod.

Men innan du börjar finns det en viktig regel – säkerhetskopiera alltid din webbplats. Att redigera funktionsfilen är som att justera en bils motor; ett litet misstag kan orsaka problem. Om du vill ha ett säkrare tillvägagångssätt rekommenderar vi att du istället använder ett plugin för anpassade kodavsnitt.

I den här guiden delar vi med oss av 25 användbara knep som du kan använda för att anpassa WordPress via functions-filen. Nu kör vi!

Praktiska tips och hack för WordPress funktioner-filen

Vad är funktionsfilen i WordPress?

functions.php-filen är som hjärnan i ditt WordPress-tema. Den följer med varje gratis och premium WordPress-tema och låter utvecklare definiera anpassade funktioner.

Tänk på det som ett miniprogram inbyggt i ditt tema. Du kan lägga till anpassade kodavsnitt för att justera hur din webbplats fungerar, från att lägga till extra widgets till att modifiera inloggningssidor. Det är ett kraftfullt verktyg – men det finns en hake.

Att redigera functions-filen direkt är inte den bästa idén. Om du uppdaterar ditt tema, kommer du att förlora all din anpassade kod. Och om du gör ett misstag, kan det förstöra din webbplats, vilket gör att du kämpar för att fixa det.

Det är därför vi alltid rekommenderar att använda WPCode, ett gratis plugin som gör det enkelt och riskfritt att lägga till kodavsnitt.

Varför föredrar vi WPCode?

  • Du kan spara anpassade kodavsnitt utan att röra vid tema- eller kärnfiler.
  • Den placerar automatiskt din kod där du behöver den.
  • Snippets sparas separat, så du kan aktivera eller inaktivera dem när som helst.
  • Den har en inbyggd felsäkerhet som inaktiverar alla kodavsnitt som orsakar fel.

Som en extra bonus inkluderar WPCode-pluginet en enorm samling förkonfigurerade kodsnuttar. Du kan aktivera dem med bara ett klick – ingen kodning krävs!

wpcode-bibliotek

För mer information, kolla in vår detaljerade WPCode-recension.

Nu när du vet det bästa sättet att hantera kodavsnitt, låt oss dyka ner i några användbara funktioner som du kan använda för att anpassa din WordPress-webbplats.

Hur du lägger till dessa kodavsnitt på din webbplats

Innan vi börjar, låt oss titta på hur du lägger till kodutdragen i den här artikeln i din WordPress functions-fil.

1. Lägg till anpassad kod i functions-filen med WPCode (rekommenderas)

Först måste du installera och aktivera WPCode-pluginet. För mer information, se vår steg-för-steg-guide om hur man installerar ett WordPress-plugin.

Efter aktivering, gå till sidan Kodavsnitt » + Lägg till kodavsnitt. Du kommer att se WPCodes kodbibliotek med många användbara anpassade kodavsnitt som redan har lagts till.

Lägg till kodavsnitt

Om ditt kodavsnitt gör samma sak som avsnitten i biblioteket, kan du prova det som redan finns där.

Alternativt, klicka på länken 'tomt kodavsnitt' för att fortsätta lägga till ditt anpassade kodavsnitt.

På nästa skärm anger du en titel för din anpassade kod. Detta kan vara vad som helst som hjälper dig att identifiera vad kodavsnittet gör.

Lägga till din anpassade kod

Därefter måste du välja ‘Kodtyp’. Om du lägger till en kod som fungerar i filen functions.php, måste du välja ‘PHP-avsnitt.’

Nedanför det behöver du kopiera och klistra in din anpassade kod i rutan 'Kodförhandsgranskning'.

Slutligen måste du ställa in ditt kodavsnitt som ‘Aktiv’ och klicka på knappen ‘Spara kodavsnitt’.

Aktivera och spara

Ditt sparade utdrag kommer nu att köras som om du hade lagt till det i functions.php-filen.

Du kan upprepa processen för att lägga till fler avsnitt vid behov. Du kan också inaktivera ett avsnitt utan att ta bort det.

2. Lägg till anpassad kod direkt i funktionsfilen

WPCode-metoden är alltid bättre än att lägga till kod i temat functions-fil.

Vissa användare kanske dock skriver kod för en kunds anpassade WordPress-tema eller föredrar helt enkelt att lägga till kod i functions.php-filen.

I så fall, här är hur du kan lägga till kod i din WordPress-temas functions.php-fil.

Anslut först till din WordPress-webbplats med en FTP-klient. När du är ansluten, navigera till mappen /wp-content/themes/ditt-wordpress-tema/.

Redigera functions.php-filen

Där hittar du filen functions.php. Högerklicka helt enkelt och välj att redigera eller ladda ner filen till din dator för redigering.

Du kan redigera den med vilken enkel textredigerare som helst, som Anteckningar eller TextEdit.

Skrolla sedan ner till botten av functions.php-filen och klistra in ditt kodutdrag där. Du kan spara dina ändringar och ladda upp den uppdaterade functions.php-filen till din temamapp.

Du kan nu besöka din WordPress-webbplats för att se din anpassade kod i praktiken.

Nu ska vi titta på 46 olika användbara knep för WordPress funktioner-fil.

1. Ta bort WordPress versionsnummer

Du bör alltid använda den senaste versionen av WordPress. Du kanske dock vill ta bort WordPress versionsnummer från din webbplats.

Lägg helt enkelt till detta kodavsnitt i din functions-fil eller som ett nytt WPCode-avsnitt:

function wpb_remove_version() {
return '';
}
add_filter('the_generator', 'wpb_remove_version');

För detaljerade instruktioner, se vår guide om det rätta sättet att ta bort WordPress versionsnummer.

Vill du vitmärka ditt WordPress-administrationsområde? Det första steget är att lägga till en anpassad instrumentpanelslogotyp.

Först måste du ladda upp din anpassade logotyp till din temas bildmapp som custom-logo.png. Din anpassade logotyp bör ha ett 1:1-förhållande (en kvadratisk bild) i 16×16 pixlar.

Därefter kan du lägga till denna kod i ditt temas functions-fil eller som ett nytt WPCode-utdrag:

function wpb_custom_logo() {
echo '
<style type="text/css">
#wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon:before {
background-image: url(' . get_bloginfo('stylesheet_directory') . '/images/custom-logo.png) !important;
background-position: 0 0;
color:rgba(0, 0, 0, 0);
}
#wpadminbar #wp-admin-bar-wp-logo.hover > .ab-item .ab-icon {
background-position: 0 0;
}
</style>
';
}
//hook into the administrative header output
add_action('wp_before_admin_bar_render', 'wpb_custom_logo');

För mer information, se vår guide om hur man lägger till en anpassad instrumentpanelslogotyp i WordPress.

3. Ändra sidfoten i WordPress adminpanel

Sidfoten i WordPress adminområde visar meddelandet 'Tack för att du skapar med WordPress.' Du kan ändra det till vad du vill genom att lägga till denna kod:

function remove_footer_admin () {

echo 'Fueled by <a href="http://www.wordpress.org" target="_blank">WordPress</a> | WordPress Tutorials: <a href="https://www.wpbeginner.com" target="_blank">WPBeginner</a></p>';

}

add_filter('admin_footer_text', 'remove_footer_admin');

Ändra gärna texten och länkarna som du vill lägga till. Så här ser det ut på vår testsida.

Admin sidfot

4. Lägg till anpassade instrumentpanelswidgets i WordPress

Du har förmodligen sett widgets som många plugins och teman lägger till i WordPress-instrumentpanelen. Du kan lägga till en själv genom att klistra in följande kod:

add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets');

function my_custom_dashboard_widgets() {
global $wp_meta_boxes;

wp_add_dashboard_widget('custom_help_widget', 'Theme Support', 'custom_dashboard_help');
}

function custom_dashboard_help() {
echo '<p>Welcome to Custom Blog Theme! Need help? Contact the developer <a href="mailto:yourusername@gmail.com">here</a>. For WordPress Tutorials visit: <a href="https://www.wpbeginner.com" target="_blank">WPBeginner</a></p>';
}

Så här skulle det se ut:

Anpassad instrumentpanelswidget

För detaljer, se vår handledning om hur man lägger till anpassade instrumentpanelswidgets i WordPress.

5. Ändra standard-Gravatar i WordPress

Har du sett standardavataren med mysteriemannen på bloggar? Du kan enkelt ersätta den med din egen anpassade avatar med ditt varumärke.

Ladda bara upp bilden du vill använda som standardavatar och lägg till denna kod i din funktionsfil eller WPCode-plugin:

function wpb_custom_default_gravatar( $avatar_defaults ) {
	$myavatar = 'https://example.com/wp-content/uploads/2022/10/dummygravatar.png';
	$avatar_defaults[$myavatar] = 'Default Gravatar';
	return $avatar_defaults;
}
add_filter( 'avatar_defaults', 'wpb_custom_default_gravatar' );

Nu kan du gå till sidan Inställningar » Diskussion och välja din standardavatar.

Anpassad standardgravatar

För detaljerade instruktioner, se vår guide om att ändra standardgravataren i WordPress.

6. Dynamiskt copyrightdatum i WordPress sidfot

Du kan helt enkelt lägga till ett copyright-datum genom att redigera sidfotsmallen i ditt tema. Det kommer dock inte att visa när din webbplats startade, och det kommer inte heller automatiskt att ändras nästa år.

Den här koden kan lägga till ett dynamiskt copyrightdatum i WordPress sidfot:

function wpb_copyright() {
global $wpdb;
$copyright_dates = $wpdb->get_results("
SELECT
YEAR(min(post_date_gmt)) AS firstdate,
YEAR(max(post_date_gmt)) AS lastdate
FROM
$wpdb->posts
WHERE
post_status = 'publish'
");
$output = '';
if($copyright_dates) {
$copyright = "© " . $copyright_dates[0]->firstdate;
if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) {
$copyright .= '-' . $copyright_dates[0]->lastdate;
}
$output = $copyright;
}
return $output;
}

Efter att ha lagt till den här funktionen måste du öppna din footer.php-fil och lägga till följande kod där du vill visa den dynamiska copyright-datan:

<?php echo wpb_copyright(); ?>

Denna funktion letar efter datumet för ditt första inlägg och datumet för ditt sista inlägg. Den returnerar sedan åren där du anropar funktionen.

Tips: Om du använder WPCode-pluginet kan du kombinera de två kodavsnitten. Välj sedan platsen 'Hela webbplatsens sidfot' i avsnittet 'Infogning' i inställningarna för kodavsnittet. Detta kommer automatiskt att visa upphovsrättsdatumet i sidfoten utan att redigera din temas footer.php-fil.

Lägg till i sidfoten med WPCode

För mer information, se vår guide om hur du lägger till dynamiska upphovsrättsdatum i WordPress.

7. Ändra bakgrundsfärgen slumpmässigt i WordPress

Vill du slumpmässigt ändra bakgrundsfärgen på din WordPress-blogg vid varje besök och sidladdning? Här är hur du gör det enkelt.

Lägg först till den här koden i ditt temas functions-fil eller WPCode-pluginet:

function wpb_bg() {
$rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
$color ='#'.$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].
$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];

echo $color; 
} 

Därefter behöver du redigera filen header.php i ditt tema. Hitta taggen <body> och ersätt den med den här raden:

<body <?php body_class(); ?> style="background-color:<?php wpb_bg();?>">

Du kan nu spara dina ändringar och besöka din webbplats för att se den här koden i aktion.

Slumpmässiga bakgrundsfärger

För mer information och alternativa metoder, se vår handledning om att slumpmässigt ändra bakgrundsfärgen i WordPress.

8. Uppdatera WordPress-URL:er

Om din inloggningssida för WordPress fortsätter att laddas om eller om du inte kan komma åt adminområdet, måste du uppdatera WordPress-URL:erna.

Ett sätt att göra detta är att använda filen wp-config.php. Men om du gör det kan du inte ställa in rätt adress på inställningssidan. Fälten WordPress URL och Webbplats-URL kommer att vara låsta och ej redigerbara.

Lägg istället bara till den här koden i din funktionsfil för att åtgärda detta:

update_option( 'siteurl', 'https://example.com' );
update_option( 'home', 'https://example.com' );

Glöm inte att ersätta example.com med ditt domännamn.

När du har loggat in kan du gå till sidan Inställningar i WordPress administrationsområde och ställa in URL:erna.

Därefter bör du ta bort koden du lade till i funktionsfilen eller WPCode. Annars kommer den att fortsätta uppdatera dessa URL:er när din webbplats nås.

9. Lägg till ytterligare bildstorlekar i WordPress

WordPress genererar automatiskt flera bildstorlekar när du laddar upp en bild. Du kan också skapa ytterligare bildstorlekar att använda i ditt tema.

Lägg helt enkelt till den här koden i ditt temas functions-fil eller som ett WPCode-utdrag:

add_image_size( 'sidebar-thumb', 120, 120, true ); // Hard Crop Mode
add_image_size( 'homepage-thumb', 220, 180 ); // Soft Crop Mode
add_image_size( 'singlepost-thumb', 590, 9999 ); // Unlimited Height Mode

Denna kod skapar tre nya bildstorlekar av olika storlekar. Känn dig fri att justera koden för att möta dina krav.

Du kan sedan visa en bildstorlek var som helst i ditt tema med den här koden:

<?php the_post_thumbnail( 'homepage-thumb' ); ?>

För detaljerade instruktioner, se vår guide om att skapa ytterligare bildstorlekar i WordPress.

10. Lägg till nya navigeringsmenyer i ditt tema

WordPress tillåter temautvecklare att definiera navigeringsmenyer och sedan visa dem.

Du kan lägga till denna kod i ditt temas functions-fil eller som ett nytt WPCode-avsnitt för att definiera en ny menyplats i ditt tema:

function wpb_custom_new_menu() {
  register_nav_menu('my-custom-menu',__( 'My Custom Menu' ));
}
add_action( 'init', 'wpb_custom_new_menu' );

Du kan nu gå till Utseende » Menyer i din WordPress-instrumentpanel och se ‘Min anpassade meny’ som alternativ för temaplats.

Anpassad menyplats

Notera: Den här koden fungerar även med blockteman med funktionen för fullständig webbplatsredigering. Att lägga till den aktiverar skärmen Menyer under Utseende.

Nu behöver du lägga till denna kod i ditt tema där du vill visa navigeringsmenyn:

 <?php
wp_nav_menu( array( 
    'theme_location' => 'my-custom-menu', 
    'container_class' => 'custom-menu-class' ) ); 
?>

För detaljerade instruktioner, se vår guide om hur du lägger till anpassade navigeringsmenyer i WordPress-teman.

11. Lägg till fält för författarprofil

Vill du lägga till extra fält till dina författarprofiler i WordPress? Du kan enkelt göra det genom att lägga till denna kod i din functions-fil eller som ett nytt WPCode-avsnitt:

function wpb_new_contactmethods( $contactmethods ) {
// Add Twitter
$contactmethods['twitter'] = 'Twitter';
//add Facebook
$contactmethods['facebook'] = 'Facebook';

return $contactmethods;
}
add_filter('user_contactmethods','wpb_new_contactmethods',10,1);

Den här koden lägger till fält för Twitter och Facebook i användarprofiler i WordPress.

Nya profilfält

Du kan nu visa dessa fält i din författarmall så här:

<?php echo get_the_author_meta('twitter') ?>

Du kanske också vill se vår guide om att lägga till ytterligare fält för användarprofiler i WordPress-registrering.

12. Lägga till widget-redo områden eller sidofält i WordPress-teman

Detta är ett av de mest använda kodutdragen, och många utvecklare vet redan om att lägga till widget-redo områden eller sidofält till WordPress-teman. Men det förtjänar att vara med på den här listan för de personer som inte vet.

Du kan klistra in följande kod i din functions.php-fil eller som ett nytt WPCode-utdrag:

// Register Sidebars
function custom_sidebars() {

	$args = array(
		'id'            => 'custom_sidebar',
		'name'          => __( 'Custom Widget Area', 'text_domain' ),
		'description'   => __( 'A custom widget area', 'text_domain' ),
		'before_title'  => '<h3 class="widget-title">',
		'after_title'   => '</h3>',
		'before_widget' => '<aside id="%1$s" class="widget %2$s">',
		'after_widget'  => '</aside>',
	);
	register_sidebar( $args );

}
add_action( 'widgets_init', 'custom_sidebars' );

Notera: Den här koden fungerar även med blockteman med funktionen för fullständig webbplatsredigering. Att lägga till den aktiverar Widgets-skärmen under Utseende.

Du kan nu besöka sidan Utseende » Widgetar och se ditt nya anpassade widgetområde.

Anpassat widgetområde

För att visa den här sidopanelen eller widget-redo området på din webbplats måste du lägga till följande kod i mallen där du vill visa den:

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('custom_sidebar') ) : ?>
<!–Default sidebar info goes here–>
<?php endif; ?>

För mer information, se vår guide om hur du lägger till dynamiska widget-redo områden och sidofält i WordPress.

13. Manipulera RSS-flödets sidfot

Har du sett bloggar som lägger in sina annonser i sina RSS-flöden under varje inlägg? Du kan enkelt uppnå detta med en enkel funktion. Klistra bara in följande kod:

function wpbeginner_postrss($content) {
if(is_feed()){
$content = 'This post was written by Syed Balkhi '.$content.'Check out WPBeginner';
}
return $content;
}
add_filter('the_excerpt_rss', 'wpbeginner_postrss');
add_filter('the_content', 'wpbeginner_postrss');

För mer information, se vår guide om hur du lägger till innehåll och helt manipulerar dina RSS-flöden.

14. Lägg till utvalda bilder i RSS-flöden

Bilden för inlägget eller de utvalda bilderna visas vanligtvis bara inom din webbplatsdesign. Du kan enkelt utöka den funktionaliteten till ditt RSS-flöde med följande kod:

function rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = '<p>' . get_the_post_thumbnail($post->ID) .
'</p>' . get_the_content();
}
return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');

För mer information, se vår guide om hur du lägger till inläggstumnagel i ditt WordPress RSS-flöde.

15. Dölj inloggningsfel i WordPress

Hackare kan använda inloggningsfel för att gissa om de har angett fel användarnamn eller lösenord. Genom att dölja inloggningsfel i WordPress kan du göra ditt inloggningsområde och WordPress-webbplatsen säkrare.

Lägg helt enkelt till följande kod i ditt temas functions-fil eller som ett nytt WPCode-avsnitt:

function no_wordpress_errors(){
  return 'Something is wrong!';
}
add_filter( 'login_errors', 'no_wordpress_errors' );

Nu kommer användarna att se ett generiskt meddelande när de anger ett felaktigt användarnamn eller lösenord.

Anpassade inloggningsfel

För mer information, se vår handledning om att inaktivera inloggningsledtrådar i WordPress felmeddelanden.

16. Inaktivera inloggning via e-post i WordPress

WordPress tillåter användare att logga in med sitt användarnamn eller e-postadress. Du kan enkelt inaktivera inloggning via e-post i WordPress genom att lägga till denna kod i din functions-fil eller som ett nytt WPCode-avsnitt:

remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );

För mer information, se vår guide om hur du inaktiverar inloggning via e-postfunktionen i WordPress.

17. Inaktivera sökfunktionen i WordPress

Om du vill inaktivera din WordPress-webbplats sökfunktion, lägg bara till denna kod i din funktionsfil eller i ett nytt WPCode-avsnitt:

function wpb_filter_query( $query, $error = true ) {
if ( is_search() ) {
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;
if ( $error == true )
$query->is_404 = true;
}}

Den här koden inaktiverar helt enkelt sökfrågan genom att modifiera den och returnera ett 404-fel istället för sökresultat.

För mer information, se vår handledning om att inaktivera sökfunktionen i WordPress.

Proffstips: Istället för att ge upp på WordPress-sökning rekommenderar vi att du provar SearchWP. Det är det bästa WordPress-sökpluginet på marknaden som låter dig lägga till en kraftfull och anpassningsbar sökfunktion till din webbplats.

18. Fördröj inlägg i RSS-flödet

Ibland kan du publicera en artikel med ett grammatiskt fel eller stavfel.

Misstaget går live och distribueras till dina RSS-flödesprenumeranter. Om du har e-postprenumerationer på din WordPress-blogg, kommer dessa prenumeranter också att få ett meddelande.

Lägg helt enkelt till denna kod i din temas functions-fil eller som ett nytt WPCode-utdrag för att fördröja inlägg i ditt RSS-flöde:

function publish_later_on_feed($where) {

	global $wpdb;

	if ( is_feed() ) {
		// timestamp in WP-format
		$now = gmdate('Y-m-d H:i:s');

		// value for wait; + device
		$wait = '10'; // integer

		// http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
		$device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR

		// add SQL-sytax to default $where
		$where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
	}
	return $where;
}

add_filter('posts_where', 'publish_later_on_feed');

I den här koden använde vi 10 minuter som $wait eller fördröjningstid. Ändra gärna detta till valfritt antal minuter du vill.

För en plugin-metod och mer information, se vår detaljerade guide om hur du fördröjer inlägg från att visas i WordPress RSS-flödet.

19. Ändra texten för "Läs mer" för utdrag i WordPress

Vill du ändra texten som visas efter utdraget i dina inlägg? Lägg bara till den här koden i ditt temas functions-fil eller som ett nytt WPCode-avsnitt:

function modify_read_more_link() {
    return '<a class="more-link" href="' . get_permalink() . '">Your Read More Link Text</a>';
}
add_filter( 'the_content_more_link', 'modify_read_more_link' );

20. Inaktivera RSS-flöden i WordPress

Alla webbplatser behöver inte RSS-flöden. Om du vill inaktivera RSS-flöden på din WordPress-webbplats, lägg till den här koden i ditt temas functions-fil eller som ett nytt WPCode-utdrag:

function new_excerpt_more($more) {
 global $post;
 return '<a class="moretag" 
 href="'. get_permalink($post->ID) . '">Your Read More Link Text</a>';
}
add_filter('excerpt_more', 'new_excerpt_more');

För mer information om en plugin-metod, se vår guide om hur du inaktiverar RSS-flöden i WordPress.

21. Ändra utdragslängden i WordPress

WordPress begränsar utdragslängder till 55 ord. Du kan lägga till denna kod i din functions-fil eller som ett nytt WPCode-utdrag om du behöver ändra det:

function new_excerpt_length($length) {
return 100;
}
add_filter('excerpt_length', 'new_excerpt_length');

Ändra bara 100 till det antal ord du vill visa i utdragen.

För alternativa metoder kan du titta på vår guide om hur du anpassar WordPress-utdrag (ingen kodning krävs).

22. Lägg till en administratörsanvändare i WordPress

Om du har glömt ditt WordPress-lösenord och din e-postadress kan du lägga till en administratörsanvändare genom att lägga till denna kod i ditt temas functions-fil med en FTP-klient:

function wpb_admin_account(){
$user = 'Username';
$pass = 'Password';
$email = 'email@domain.com';
if ( !username_exists( $user )  && !email_exists( $email ) ) {
$user_id = wp_create_user( $user, $pass, $email );
$user = new WP_User( $user_id );
$user->set_role( 'administrator' );
} }
add_action('init','wpb_admin_account');

Glöm inte att fylla i fälten för användarnamn, lösenord och e-post.

Viktigt: När du har loggat in på din WordPress-webbplats, glöm inte att ta bort koden från din functions-fil.

För mer om detta ämne, ta en titt på vår handledning om hur man lägger till en administratörsanvändare i WordPress med FTP.

23. Inaktivera språkväljaren på inloggningssidan

Om du driver en flerspråkig webbplats, visar WordPress en språk väljare på inloggningssidan. Du kan enkelt inaktivera den genom att lägga till följande kod i din functions.php-fil eller som ett nytt WPCode-avsnitt:

add_filter( 'login_display_language_dropdown', '__return_false' );

24. Visa det totala antalet registrerade användare i WordPress

Vill du visa det totala antalet registrerade användare på din WordPress-webbplats? Lägg helt enkelt till denna kod i ditt temas functions-fil eller som ett nytt WPCode-utdrag:

function wpb_user_count() {
$usercount = count_users();
$result = $usercount['total_users'];
return $result;
}
// Creating a shortcode to display user count
add_shortcode('user_count', 'wpb_user_count');

Den här koden skapar en kortkod som låter dig visa det totala antalet registrerade användare på din webbplats.

Nu behöver du bara lägga till kortkoden [user_count] i ditt inlägg eller din sida där du vill visa det totala antalet användare.

För mer information och en plugin-metod, se vår handledning om hur du visar det totala antalet registrerade användare i WordPress.

25. Exkludera specifika kategorier från RSS-flödet

Vill du exkludera specifika kategorier från ditt WordPress RSS-flöde? Du kan lägga till denna kod i din temas funktioner-fil eller som ett nytt WPCode-utdrag:

function exclude_category($query) {
	if ( $query->is_feed ) {
		$query->set('cat', '-5, -2, -3');
	}
return $query;
}
add_filter('pre_get_posts', 'exclude_category');

26. Inaktivera URL-länkar i WordPress-kommentarer

Som standard konverterar WordPress en URL till en klickbar länk i kommentarer.

Du kan stoppa detta genom att lägga till följande kod i din functions-fil eller som ett nytt WPCode-utdrag:

remove_filter( 'comment_text', 'make_clickable', 9 );

För detaljer, se vår artikel om hur du inaktiverar automatisk länkning i WordPress-kommentarer.

27. Lägg till udda och jämna CSS-klasser till WordPress-inlägg

Du kanske har sett WordPress-teman som använder en udda eller jämn klass för WordPress-kommentarer. Det hjälper användare att visualisera var en kommentar slutar och nästa börjar.

Du kan använda samma teknik för dina WordPress-inlägg. Det ser estetiskt tilltalande ut och hjälper användare att snabbt skanna sidor med mycket innehåll.

Lägg helt enkelt till den här koden i din temas functions-fil:

function oddeven_post_class ( $classes ) {
   global $current_class;
   $classes[] = $current_class;
   $current_class = ($current_class == 'odd') ? 'even' : 'odd';
   return $classes;
}
add_filter ( 'post_class' , 'oddeven_post_class' );
global $current_class;
$current_class = 'odd';

Den här koden lägger helt enkelt till en udda eller jämn klass till WordPress-inlägg. Du kan nu lägga till anpassad CSS för att styla dem annorlunda.

Här är lite exempelkod som hjälper dig att komma igång:

.even {
background:#f0f8ff;
}
.odd {
 background:#f4f4fb;
}

Slutresultatet kommer att se ut ungefär så här:

Alternerande bakgrundsfärger

Behöver du mer detaljerade instruktioner? Ta en titt på vår handledning om hur du lägger till udda/jämna klasser till dina inlägg i WordPress-teman.

28. Lägg till ytterligare filtyper som kan laddas upp i WordPress

Som standard tillåter WordPress dig att ladda upp ett begränsat antal av de vanligaste filtyperna. Du kan dock utöka det för att tillåta andra filtyper.

Lägg bara till den här koden i din temas funktioner-fil:

function my_myme_types($mime_types){
    $mime_types['svg'] = 'image/svg+xml'; //Adding svg extension
    $mime_types['psd'] = 'image/vnd.adobe.photoshop'; //Adding photoshop files
    return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);

Den här koden låter dig ladda upp SVG- och PSD-filer till WordPress.

Du behöver hitta mime-typerna för filtyperna du vill tillåta och sedan använda dem i koden.

För mer om detta ämne, kolla in vår handledning om hur du lägger till ytterligare filtyper som kan laddas upp i WordPress.

WordPress använder en icke-existerande e-postadress (wordpress@yourdomain.com) för att skicka utgående e-postmeddelanden som standard.

Den här e-postadressen kan flaggas som skräppost av e-postleverantörer.

Att använda pluginet WP Mail SMTP är det rätta sättet att åtgärda detta.

WP Mail SMTP

Det åtgärdar problem med e-postleverans och låter dig välja en faktisk e-postadress för att skicka dina WordPress-e-postmeddelanden.

För att lära dig mer, se vår guide om hur du åtgärdar problemet med att WordPress inte skickar e-post.

Å andra sidan, om du snabbt vill ändra detta till en riktig e-postadress, kan du lägga till följande kod i din functions-fil eller som ett nytt WPCode-utdrag:

// Function to change email address
function wpb_sender_email( $original_email_address ) {
    return 'tim.smith@example.com';
}
 
// Function to change sender name
function wpb_sender_name( $original_email_from ) {
    return 'Tim Smith';
}
 
// Hooking up our functions to WordPress filters 
add_filter( 'wp_mail_from', 'wpb_sender_email' );
add_filter( 'wp_mail_from_name', 'wpb_sender_name' );

Glöm inte att ersätta e-postadressen och namnet med din egen information.

Problemet med den här metoden är att WordPress fortfarande använder mail()-funktionen för att skicka e-post, och sådan e-post hamnar med största sannolikhet i skräpposten.

För bättre alternativ, se vår handledning om hur man ändrar avsändarens namn i utgående WordPress-e-post.

30. Lägg till en författarinformationsruta i WordPress-inlägg

Om du driver en webbplats med flera författare och vill visa författarbiografier i slutet av dina inlägg, kan du prova denna metod.

Börja med att lägga till denna kod i din functions-fil eller som ett nytt WPCode-avsnitt:

function wpb_author_info_box( $content ) {

global $post;

// Detect if it is a single post with a post author
if ( is_single() && isset( $post->post_author ) ) {

// Get author's display name
$display_name = get_the_author_meta( 'display_name', $post->post_author );

// If display name is not available then use nickname as display name
if ( empty( $display_name ) )
$display_name = get_the_author_meta( 'nickname', $post->post_author );

// Get author's biographical information or description
$user_description = get_the_author_meta( 'user_description', $post->post_author );

// Get author's website URL
$user_website = get_the_author_meta('url', $post->post_author);

// Get link to the author archive page
$user_posts = get_author_posts_url( get_the_author_meta( 'ID' , $post->post_author));
	
// Get User Gravatar
$user_gravatar =  get_avatar( get_the_author_meta( 'ID' , $post->post_author) , 90 );

if ( ! empty( $display_name ) )

$author_details = '<p class="author_name">About ' . $display_name . '</p>';

if ( ! empty( $user_description ) )
// Author avatar and bio will be displayed if author has filled in description. 

$author_details .= '<p class="author_details">' . $user_gravatar . nl2br( $user_description ). '</p>';

$author_details .= '<p class="author_links"><a href="'. $user_posts .'">View all posts by ' . $display_name . '</a>';  

// Check if author has a website in their profile
if ( ! empty( $user_website ) ) {

// Display author website link
$author_details .= ' | <a href="' . $user_website .'" target="_blank" rel="nofollow noopener">Website</a></p>';

} else {
// if there is no author website then just close the paragraph
$author_details .= '</p>';
}

// Pass all this info to post content
$content = $content . '<footer class="author_bio_section" >' . $author_details . '</footer>';
}
return $content;
}

// Add our function to the post content filter
add_action( 'the_content', 'wpb_author_info_box' );

// Allow HTML in author bio section
remove_filter('pre_user_description', 'wp_filter_kses');

Därefter behöver du lägga till lite anpassad CSS för att det ska se bättre ut.

Du kan använda detta exempel-CSS som en utgångspunkt:

.author_bio_section{
background: none repeat scroll 0 0 #F5F5F5;
padding: 15px;
border: 1px solid #ccc;
}

.author_name{
font-size:16px;
font-weight: bold;
}

.author_details img {
border: 1px solid #D8D8D8;
border-radius: 50%;
float: left;
margin: 0 10px 10px 0;
}

Så här kommer din författarbox att se ut:

Författarens bio-ruta

För en plugin-metod och mer detaljerade instruktioner, kolla in vår artikel om hur du lägger till en författarinformationsruta i WordPress-inlägg.

31. Inaktivera XML-RPC i WordPress

XML-RPC är en metod som tillåter tredjepartsappar att kommunicera med din WordPress-webbplats på distans. Detta kan orsaka säkerhetsproblem och kan utnyttjas av hackare.

För att stänga av XML-RPC i WordPress, lägg till följande kod i din functions-fil eller som ett nytt WPCode-avsnitt:

add_filter('xmlrpc_enabled', '__return_false');

Du kanske vill läsa vår artikel om hur man inaktiverar XML-RPC i WordPress för mer information.

32. Länka automatiskt framträdande bilder till inlägg

Om ditt WordPress-tema inte automatiskt länkar framträdande bilder till fullständiga artiklar, kan du prova den här metoden.

Lägg helt enkelt till denna kod i ditt temas functions-fil eller som ett nytt WPCode-utdrag:

function wpb_autolink_featured_images( $html, $post_id, $post_image_id ) {

If (! is_singular()) { 

$html = '<a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( get_the_title( $post_id ) ) . '">' . $html . '</a>';
return $html;

} else { 

return $html;

}

}
add_filter( 'post_thumbnail_html', 'wpb_autolink_featured_images', 10, 3 );

Du kanske vill läsa vår artikel om hur man automatiskt länkar utvalda bilder till inlägg i WordPress.

33. Inaktivera blockredigeraren i WordPress

WordPress använder en modern och intuitiv redigerare för att skriva innehåll och redigera din webbplats. Den här redigeraren använder block för vanliga innehålls- och layout-element, vilket är anledningen till att den kallas Blockredigeraren.

Du kan dock behöva använda den äldre klassiska redigeraren i vissa användningsfall.

Det enklaste sättet att inaktivera blockredigeraren är att använda pluginet Classic Editor. Men om du inte vill använda ett separat plugin, lägg bara till följande kod i din funktionsfil eller som ett nytt WPCode-utdrag:

add_filter('gutenberg_can_edit_post', '__return_false', 5);
add_filter('use_block_editor_for_post', '__return_false', 5);

För mer information, se vår handledning om hur du inaktiverar blockredigeraren och använder klassisk redigerare.

34. Inaktivera blockwidgets i WordPress

WordPress bytte från klassiska widgets till block-widgets i WordPress 5.8. De nya block-widgets är enklare att använda och ger dig mer designkontroll än klassiska widgets.

Vissa användare kanske dock fortfarande vill använda klassiska widgets. I så fall kan du använda följande kod i ditt temas functions-fil eller som ett nytt WPCode-avsnitt:

add_filter( 'use_widgets_block_editor', '__return_false' );

För mer information, se vår artikel om hur du inaktiverar widgetblock (återställer klassiska widgets).

35. Visa senast uppdaterat datum i WordPress

När besökare visar ett inlägg eller en sida på din WordPress-blogg, kommer ditt WordPress-tema att visa datumet då inlägget publicerades. Detta fungerar bra för de flesta bloggar och statiska webbplatser.

WordPress används dock även av webbplatser där gamla artiklar regelbundet uppdateras. I dessa publikationer är det viktigt att visa datum och tid då inlägget senast ändrades.

Senast uppdaterat datum

Du kan visa datumet för senaste uppdateringen med följande kod i ditt temas funktionsfil eller som ett nytt WPCode-utdrag:

$u_time          = get_the_time( 'U' );
$u_modified_time = get_the_modified_time( 'U' );
// Only display modified date if 24hrs have passed since the post was published.
if ( $u_modified_time >= $u_time + 86400 ) {

	$updated_date = get_the_modified_time( 'F jS, Y' );
	$updated_time = get_the_modified_time( 'h:i a' );

	$updated = '<p class="last-updated">';

	$updated .= sprintf(
	// Translators: Placeholders get replaced with the date and time when the post was modified.
		esc_html__( 'Last updated on %1$s at %2$s' ),
		$updated_date,
		$updated_time
	);
	$updated .= '</p>';

	echo wp_kses_post( $updated );
}

För alternativa metoder och mer detaljer, se vår guide om hur man visar senast uppdaterat datum i WordPress.

36. Använd gemena filnamn för uppladdningar

Om du driver en webbplats med flera författare kan författare ladda upp bilder med filnamn i stora och små bokstäver.

Genom att lägga till följande kod säkerställer du att alla filnamn är gemener:

add_filter( 'sanitize_file_name', 'mb_strtolower' );

Notera: Koden kommer inte att ändra filnamn för befintliga uppladdningar. För alternativa metoder, se vår handledning om hur man byter namn på bilder och mediefiler i WordPress.

37. Inaktivera WordPress adminpanel på frontend

Som standard visar WordPress adminfältet högst upp när en inloggad användare besöker din webbplats.

Du kan inaktivera adminfältet för alla användare utom webbplatsadministratörer. Lägg helt enkelt till följande kod i din funktionsfil eller som ett nytt WPCode-avsnitt:

/* Disable WordPress Admin Bar for all users */
add_filter( 'show_admin_bar', '__return_false' );

För mer information, se vår guide om hur du inaktiverar WordPress admin-fält för alla användare utom administratörer.

38. Ändra texten 'Howdy Admin' i administrationsområdet

WordPress visar en hälsning 'Howdy Admin' i WordPress-instrumentpanelen. 'Admin' ersätts av namnet på den inloggade användaren.

Hej hälsning

Du kan ändra standardhälsningen till din egen genom att lägga till följande kod i din functions-fil eller som ett nytt WPCode-utdrag:

function wpcode_snippet_replace_howdy( $wp_admin_bar ) {

	// Edit the line below to set what you want the admin bar to display intead of "Howdy,".
	$new_howdy = 'Welcome,';

	$my_account = $wp_admin_bar->get_node( 'my-account' );
	$wp_admin_bar->add_node(
		array(
			'id'    => 'my-account',
			'title' => str_replace( 'Howdy,', $new_howdy, $my_account->title ),
		)
	);
}

add_filter( 'admin_bar_menu', 'wpcode_snippet_replace_howdy', 25 );

För mer information, se vår artikel om att ändra meddelandet 'Howdy Admin' i WordPress.

39. Inaktivera kodredigering i blockredigeraren

Blockredigeraren låter dig växla till kodredigeraren. Detta är användbart om du behöver lägga till HTML-kod manuellt.

Du kanske dock vill begränsa den här funktionen till webbplatsadministratörer.

Du kan lägga till följande kod i din functions-fil eller som ett WPCode-utdrag för att uppnå detta:

add_filter( 'block_editor_settings_all', function ( $settings ) {
	
	$settings['codeEditingEnabled'] = current_user_can( 'manage_options' );

	return $settings;
} );

40. Inaktivera filredigeraren för plugin/tema

WordPress levereras med en inbyggd redigerare där du kan redigera plugin-filer. Du kan se den genom att gå till sidan Plugins » Plugin File Editor.

Plugin-filredigerare i WordPress

På liknande sätt inkluderar WordPress även en filredigerare för klassiska teman under Utseende » Temats filredigerare.

Notera: Om du använder ett blocktema är filredigeraren för temat inte synlig.

Temafilditor

Vi rekommenderar inte att använda dessa redigerare för att göra ändringar i ditt tema eller plugin. Ett litet fel i koden kan göra din webbplats otillgänglig för alla användare.

För att inaktivera plugin/temaredigeraren, lägg till följande kod i din funktionsfil eller som ett WPCode-utdrag:

// Disable the Plugin and Theme Editor
if ( ! defined( 'DISALLOW_FILE_EDIT' ) ) {
	define( 'DISALLOW_FILE_EDIT', true );
}

För mer information, se vår handledning om hur du inaktiverar plugin/temaredigeraren i WordPress.

41. Inaktivera e-postmeddelanden om nya användarmeddelanden

Som standard skickar WordPress ett e-postmeddelande när en ny användare går med på din WordPress-webbplats.

Om du driver en WordPress-medlemskapswebbplats eller kräver att användare registrerar sig, får du en avisering varje gång en användare går med på din webbplats.

För att stänga av dessa aviseringar kan du lägga till följande i din functions-fil eller som ett nytt WPCode-avsnitt:

function wpcode_send_new_user_notifications( $user_id, $notify = 'user' ) {
	if ( empty( $notify ) || 'admin' === $notify ) {
		return;
	} elseif ( 'both' === $notify ) {
		// Send new users the email but not the admin.
		$notify = 'user';
	}
	wp_send_new_user_notifications( $user_id, $notify );
}

add_action(
	'init',
	function () {
		// Disable default email notifications.
		remove_action( 'register_new_user', 'wp_send_new_user_notifications' );
		remove_action( 'edit_user_created_user', 'wp_send_new_user_notifications' );

		// Replace with custom function that only sends to user.
		add_action( 'register_new_user', 'wpcode_send_new_user_notifications' );
		add_action( 'edit_user_created_user', 'wpcode_send_new_user_notifications', 10, 2 );
	}
);

För mer information, se vår handledning om hur du inaktiverar nya användarmeddelanden i WordPress.

42. Inaktivera automatiska e-postmeddelanden om uppdateringar

Ibland kan WordPress automatiskt installera säkerhets- och underhållsuppdateringar eller uppdatera ett plugin med en kritisk sårbarhet.

Den skickar ett automatiskt e-postmeddelande om uppdateringar efter varje uppdatering. Om du hanterar flera WordPress-webbplatser kan du få flera sådana e-postmeddelanden.

Du kan lägga till den här koden i din funktionsfil eller som ett nytt WPCode-avsnitt för att stänga av dessa e-postmeddelanden:

/ Disable auto-update emails.
add_filter( 'auto_core_update_send_email', '__return_false' );

// Disable auto-update emails for plugins.
add_filter( 'auto_plugin_update_send_email', '__return_false' );

// Disable auto-update emails for themes.
add_filter( 'auto_theme_update_send_email', '__return_false' );

För att lära dig mer, se vår artikel om hur du inaktiverar automatiska uppdaterings-e-postmeddelanden i WordPress.

43. Lägg till en länk för att enkelt duplicera ett inlägg

Har du någonsin önskat ett enklare sätt att snabbt kopiera allt innehåll i ett inlägg för redigering utan att röra det publicerade inlägget?

Följande kodavsnitt lägger till ett alternativ för att enkelt duplicera ett inlägg med allt dess innehåll:

// Add duplicate button to post/page list of actions.
add_filter( 'post_row_actions', 'wpcode_snippet_duplicate_post_link', 10, 2 );
add_filter( 'page_row_actions', 'wpcode_snippet_duplicate_post_link', 10, 2 );

// Let's make sure the function doesn't already exist.
if ( ! function_exists( 'wpcode_snippet_duplicate_post_link' ) ) {
	/**
	 * @param array   $actions The actions added as links to the admin.
	 * @param WP_Post $post The post object.
	 *
	 * @return array
	 */
	function wpcode_snippet_duplicate_post_link( $actions, $post ) {

		// Don't add action if the current user can't create posts of this post type.
		$post_type_object = get_post_type_object( $post->post_type );

		if ( null === $post_type_object || ! current_user_can( $post_type_object->cap->create_posts ) ) {
			return $actions;
		}


		$url = wp_nonce_url(
			add_query_arg(
				array(
					'action'  => 'wpcode_snippet_duplicate_post',
					'post_id' => $post->ID,
				),
				'admin.php'
			),
			'wpcode_duplicate_post_' . $post->ID,
			'wpcode_duplicate_nonce'
		);

		$actions['wpcode_duplicate'] = '<a href="' . $url . '" title="Duplicate item" rel="permalink">Duplicate</a>';

		return $actions;
	}
}

/**
 * Handle the custom action when clicking the button we added above.
 */
add_action( 'admin_action_wpcode_snippet_duplicate_post', function () {

	if ( empty( $_GET['post_id'] ) ) {
		wp_die( 'No post id set for the duplicate action.' );
	}

	$post_id = absint( $_GET['post_id'] );

	// Check the nonce specific to the post we are duplicating.
	if ( ! isset( $_GET['wpcode_duplicate_nonce'] ) || ! wp_verify_nonce( $_GET['wpcode_duplicate_nonce'], 'wpcode_duplicate_post_' . $post_id ) ) {
		// Display a message if the nonce is invalid, may it expired.
		wp_die( 'The link you followed has expired, please try again.' );
	}

	// Load the post we want to duplicate.
	$post = get_post( $post_id );

	// Create a new post data array from the post loaded.
	if ( $post ) {
		$current_user = wp_get_current_user();
		$new_post     = array(
			'comment_status' => $post->comment_status,
			'menu_order'     => $post->menu_order,
			'ping_status'    => $post->ping_status,
			'post_author'    => $current_user->ID,
			'post_content'   => $post->post_content,
			'post_excerpt'   => $post->post_excerpt,
			'post_name'      => $post->post_name,
			'post_parent'    => $post->post_parent,
			'post_password'  => $post->post_password,
			'post_status'    => 'draft',
			'post_title'     => $post->post_title . ' (copy)',// Add "(copy)" to the title.
			'post_type'      => $post->post_type,
			'to_ping'        => $post->to_ping,
		);
		// Create the new post
		$duplicate_id = wp_insert_post( $new_post );
		// Copy the taxonomy terms.
		$taxonomies = get_object_taxonomies( get_post_type( $post ) );
		if ( $taxonomies ) {
			foreach ( $taxonomies as $taxonomy ) {
				$post_terms = wp_get_object_terms( $post_id, $taxonomy, array( 'fields' => 'slugs' ) );
				wp_set_object_terms( $duplicate_id, $post_terms, $taxonomy );
			}
		}
		// Copy all the custom fields.
		$post_meta = get_post_meta( $post_id );
		if ( $post_meta ) {

			foreach ( $post_meta as $meta_key => $meta_values ) {
				if ( '_wp_old_slug' === $meta_key ) { // skip old slug.
					continue;
				}
				foreach ( $meta_values as $meta_value ) {
					add_post_meta( $duplicate_id, $meta_key, $meta_value );
				}
			}
		}

		// Redirect to edit the new post.
		wp_safe_redirect(
			add_query_arg(
				array(
					'action' => 'edit',
					'post'   => $duplicate_id
				),
				admin_url( 'post.php' )
			)
		);
		exit;
	} else {
		wp_die( 'Error loading post for duplication, please try again.' );
	}
} );

Efter att ha lagt till koden, gå till skärmen Inlägg » Alla inlägg och för muspekaren över en inläggstitel.

Du kommer att märka en ny länk för ‘Duplicera’ under alternativen.

Länk för att duplicera inlägg

Genom att klicka på länken skapas en kopia av inlägget med allt dess innehåll. Du kan sedan arbeta med det utkastet.

När du är klar kan du kopiera och klistra in dina ändringar i det ursprungliga publicerade inlägget och ta bort kopian.

För en plugin-metod, se vår artikel om att duplicera ett WordPress-inlägg eller en sida.

44. Ta bort välkomstpanelen från WordPress administratörspanel

Välkomstpanelen visas i WordPress administrationspanel. Den kan enkelt avfärdas eller döljas genom att klicka på knappen 'Skärmalternativ'.

Välkomstpanel

Men om du arbetar för att skapa en renare instrumentpanelsupplevelse för användare, kanske du vill dölja den permanent.

Lägg till följande kod för att inaktivera det för alla användare på din webbplats:

add_action(
	'admin_init',
	function () {
		remove_action( 'welcome_panel', 'wp_welcome_panel' );
	}
);

45. Lägg till en kolumn för utvald bild för inlägg i WordPress-admin

Som standard visar WordPress bara utvalda bilder när du tittar på din webbplats eller när du redigerar ett inlägg eller en sida.

Följande kod lägger till en ny kolumn på skärmen Inlägg » Alla inlägg för utvalda bilder:

add_filter( 'manage_posts_columns', function ( $columns ) {
	// You can change this to any other position by changing 'title' to the name of the column you want to put it after.
	$move_after     = 'title';
	$move_after_key = array_search( $move_after, array_keys( $columns ), true );

	$first_columns = array_slice( $columns, 0, $move_after_key + 1 );
	$last_columns  = array_slice( $columns, $move_after_key + 1 );

	return array_merge(
		$first_columns,
		array(
			'featured_image' => __( 'Featured Image' ),
		),
		$last_columns
	);
} );

add_action( 'manage_posts_custom_column', function ( $column ) {
	if ( 'featured_image' === $column ) {
		the_post_thumbnail( array( 300, 80 ) );
	}
} );

Här är hur det skulle se ut efter att ha lagt till koden.

Kolumn för utvald bild

46. Blockera WordPress administrationsområde för alla utom administratörer

Vissa WordPress-webbplatser kan kräva att användare registrerar ett konto. Till exempel en WordPress-medlemskapswebbplats eller en e-handelsbutik.

De flesta sådana plugins kommer att förhindra dessa användare från att komma åt adminområdet. Men om du inte använder ett sådant plugin kan du lägga till följande kod för att blockera alla användare utom administratörer från att komma åt adminområdet:

add_action( 'admin_init', function() {
	if ( ! current_user_can( 'administrator' ) ) {
       wp_redirect( home_url() );
       exit;
	}
} );

Användare med andra användarroller kan fortfarande logga in på sina konton, men efter inloggning kommer de att omdirigeras till startsidan.

Vi hoppas att den här artikeln hjälpte dig att lära dig några nya användbara knep för functions.php-filen i WordPress. Du kanske också vill se vår guide om att visa kod i WordPress för att enkelt dela dina kodavsnitt och våra experttips för de bästa kodredigerarna för Mac och Windows.

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

122 CommentsLeave a Reply

  1. Thanks for the extremely helpful tips :-)

    Hur kan jag lägga till mer information i författarrutan (länkar till sociala medier)

  2. Några användbara tips, men det finns en sak att ta hänsyn till. Om du skapar ett barn-tema kan du uppdatera functions.php utan rädsla eftersom någon tema-uppdatering inte kommer att påverka det. Dessutom var WP-Code i en webbplats själva boven i att förhindra åtkomst till webbplatsen. När jag försökte markera ett kodavsnitt som oanvänt kraschade det och jag var tvungen att ta bort det på filsystemsnivå. Lyckligtvis hade jag alla kodavsnitt i en separat fil och kunde uppdatera functions.php i barn-temat och kopiera CSS till temat och köa JavaScript-filerna. WP-Code är bra men inte perfekt. Se till att du har en Plan B.

    Google säger också, på sina sidor om Page Lightspeed, att de inte straffar dig i SEO för att ha många plugins. Allt de är intresserade av är kvaliteten på koden. Om den är dålig blir du nedgraderad. Om den är bra får du behålla din Guldstjärna och en B Somerville.

  3. Det här är en guldgruva
    Jag älskade kolumnen med "featured image" i adminområdet (#45) Jag hanterar en webbplats med mycket innehåll och detta har gjort en enorm skillnad i mitt arbetsflöde.
    Vad jag älskar med era artiklar är att ni konsekvent tillhandahåller kod som löser exakt de problem jag står inför, och det bästa är att koden alltid fungerar perfekt.
    Tack för den här artikeln WPBeginner!

  4. Det är en bästa praxis och alltid tillrådligt att lägga till anpassad kod med WPcode, det är en välsignelse att ha en sådan plugin.
    Hur kommer du att underhålla kodavsnitt som lagts till direkt i functions-filen, det kommer att vara en dålig upplevelse för dina användare när du rör till det med några viktiga funktioner i functions-filen och plötsligt bryter din webbplats.
    Tack för dessa kodavsnitt och tips för att säkra och förbättra våra webbplatser.

    • Precis som du skrev, Mrteesurez. Ibland är det bättre att lämna kodbitar till programvaran, eftersom en person mycket lätt kan skada sig själv istället för att hjälpa. Det andra och lika viktiga som jag också skulle nämna är att tack vare WP Code kommer du inte att förlora dina koder när mallen uppdateras eller när du byter till en annan. Detta är också en mycket trevlig och viktig fördel som är värd att nämna.

      • Tack för ditt värdefulla bidrag och för att du lyfte fram denna avgörande insikt. Du har helt rätt, att lämna kod till programvaran kan förhindra potentiella problem som kan uppstå från manuella fel. Dessutom är det en "game-changer" att WPcode bevarar anpassningarna under uppdateringar, eftersom jag inte kommer att frukta att förlora den anpassning jag har lagt till. Tack igen för att du lyfte fram detta.

  5. Så mycket att åstadkomma med hjälp av functions.php
    Jag tror att detta är kärnan i WordPress och om vi gör för mycket med det, kan vi förlora många kärnfunktioner.
    Med detta sagt är wpcode en klok idé för att infoga allt för funktionalitet utan att kompromissa med WordPress-kärnan.
    Jag har dock en fråga, om wpcode inte infogar sin kod i den huvudsakliga functions.php, hur fungerar det då?
    och om det infogar den i samma, hur kommer uppdatering av WordPress inte att radera den?

    • Koden lagras i din databas och pluginet kopplar in sig i koden på olika sätt beroende på hur du ställer in det i pluginet.

      Admin

      • Tack för detta svar. Jag har varit nyfiken på hur denna WPcode fungerar, att nya uppdateringar inte raderade kodutdragen och vid byte av teman. Ditt svar har klargjort det för mig, jag uppskattar detta stöd.

  6. Jag har märkt att på vissa webbplatser ändras den övre delen av webbläsaren i färg, särskilt på mobil Chrome. Har du något testat kodavsnitt som åstadkommer detta?

  7. A lot of great ideas explained in novice friendly way. Thanks! I will try adding featured images to RSS feeds. It never worked before for some reason and now it will :)

  8. Detta är en ganska farlig idé. Query strings finns för att rensa cachen, eller, för att säkerställa att slutanvändaren har den senaste versionen av dina js- och css-filer.

    Att ta bort dessa kommer att orsaka alla möjliga problem för återkommande användare senare, eftersom deras webbläsare kommer att anta att inget har ändrats och använda sin cachade version istället för att ladda ner den nya.

    Om du av någon anledning behöver rikta in dig på en specifik fil och ta bort frågesträngen (vilket jag har behövt göra) kan du använda detta kodavsnitt:

    // ta bort version från skript och stilar
    function remove_version_scripts_styles($src) {
    if (strpos($src, ‘yourfile.js’)) {
    $src = remove_query_arg(‘ver’, $src);
    }
    return $src;
    }
    add_filter(‘script_loader_src’, ‘remove_version_scripts_styles’, 9999);

  9. Mycket användbar artikel. Jag sparade precis den här sidan offline så att jag kan infoga några av dessa på mina webbplatser. Ska jag lägga till koderna i functions.php och ingen annanstans?

  10. Trevligt kompendium med användbara knep och funktioner för WordPress. Jag lärde mig ganska många nya saker om WordPress efter att ha gått igenom detta.

    Jag ser fram emot ännu mer från dig om du vill

  11. Åh WOW,

    Detta är en livräddare de flesta gånger, skulle vilja veta mer om användbara funktioner.

  12. Fin artikel,

    Har bara en tvekan om jag ska lägga till dessa koder i snippet-pluginet eller någon annanstans i filen? om det är snippet-pluginet fungerar det inte. Vänligen upplys mig.
    Tack

    • Du skulle lägga till dessa koder som ett anpassat plugin eller vanligare i din functions.php-fil

      Admin

  13. Tack för den här handledningen. Jag lärde mig mycket. Jag kommer att läsa den igen.

  14. Bra artikel, den är verkligen informativ och innovativ, håll oss uppdaterade med nya uppdateringar. Den var verkligen värdefull. Tack så mycket.

  15. Nästan INGEN av dessa kodutdrag hör hemma i ditt temas functions.php-fil. Endast ett fåtal av dem är relaterade till själva temat. Teman är för UTSEENDE. Skapa ett PLUGIN för funktionalitet. I vilket fall som helst skulle det hamna i ett barns temas functions.php-fil.

    • Tack för att du påpekade detta, även om vi nämner webbplatsspecifika plugins i början av den här artikeln, kommer vi att se till att göra det uttalandet tydligare.

      Admin

  16. Tack så mycket för att du gjorde den här resursen tillgänglig. WP för nybörjare är den bästa webbplatsen på nätet!

  17. hej jag kan inte lägga till mitt inlägg på en specifik sida. när jag skriver ett blogginlägg visas det på hemsidan men jag vill också se det på specifika sidor där jag vill lägga till det. hur kan jag lösa detta problem. snälla hjälp mig så snart som möjligt. om det finns någon videolänk, dela den gärna med ditt svar. jag blir förvirrad.

  18. Jag skapar ett formulär för att samla in data från mina användare.
    Jag har skapat databasen från myphpAdmin
    Jag har skapat formuläret.
    Jag har nu skapat en ny php-fil i mitt child theme
    Jag refererade till den i formuläret också med action = "name.php"
    Nu förväntar jag mig att den ska samla in folks registreringsuppgifter.
    Men när jag klickar på submit i formuläret, står det, sidan kan inte hittas.
    Jag vet inte vad jag gör fel.
    Snälla hjälp mig

  19. finns det en plugin man kan använda för att anpassa ett temas standardmenyinställning för att passa din smak???

  20. Mycket användbart inlägg tack.

    En fråga – Eftersom du uppdaterar functions.php i ett tema.
    Om du uppdaterar temat så förlorar du dina ändringar.

    Finns det någon lösning på detta? Är det bara en orsak till att använda ett barn-tema?

    Tack

    • Hej Shafiq,

      Alla ändringar du gör i ett föräldratema kommer att skrivas över när du uppdaterar det. Det är god praxis att arbeta med ett barn-tema när du gör ändringar i ett tema som du inte har byggt och som kommer att uppdateras, så att du kan behålla de ändringar du har gjort.

    • I use the plugin ‘My Custom Functions’ – it is simply adding all functions to the functions.php automatically – so no re-writing after every update needed :)

    • Det här är sent, men du kan också skapa ett plugin för din webbplats (t.ex. ”[Webbplatsnamn]s anpassade plugin”). Det kräver dock lite expertis, eftersom vissa funktioner krockar med andra plugins/webbplatsens tema.

  21. kan du rekommendera en väldigt enkel bok om wordpress.
    jag är helt ny inom detta område.
    tack på förhand

  22. En till:

    // Ta bort frågesträngen från statiska filer :
    function remove_cssjs_ver( $src ) {
    if( strpos( $src, ‘?ver=’ ) )
    $src = remove_query_arg( ‘ver’, $src );
    return $src;
    }
    add_filter( ‘style_loader_src’, ‘remove_cssjs_ver’, 10, 2 );
    add_filter( ‘script_loader_src’, ‘remove_cssjs_ver’, 10, 2 );

  23. Jag försökte #16 att lägga till den utvalda miniatyrbilden för inlägget i mitt RSS-flöde men när jag testade det i Mailchimp (pausade min kampanj och förhandsgranskade) verkar det som att det har ändrats från "sammanfattning" till "fullständig text"? Är detta förväntat beteende? Jag vill lämna e-postmeddelandena (RSS-drivna) som sammanfattning, och bara lägga till den utvalda miniatyrbilden högst upp.

    Tack för all hjälp, jag kan inte hitta detta någonstans på Google.

  24. ang. borttagning av rss-flöde för statiska sidor — är det korrekt att det txt som skulle ersättas i den koden är 'url' (med en sidlänk, inklusive ) och 'homepage' (om du vill att det ska stå något annat, som 'någon annan sajt')?

  25. Detta är en stor lista och en stor hjälp. Skulle vilja veta var den första delen av Twitter-räknarkoden ska klistras in, i function.php eller direkt i textwidgeten för temat.

  26. Det finns ett enklare sätt att ta bort WordPress versionsnummer...

    remove_action(‘wp_head’, ‘wp_generator’);

  27. En så fin lista med användbara knep. Det kommer att hjälpa både plugin- och temautvecklare.

  28. Tack för den hjälpsamma artikeln. Jag uppskattar det verkligen. Kan du möjligtvis förklara varför kodavsnittet för att lägga till Google Analytics (#1) inkluderar PHP-deklarationerna. Om jag har en befintlig functions.php-fil som redan är definierad med, behöver jag inkludera markörerna igen i kodavsnittet? Jag försöker lägga till andra anpassningar i functions.php och det blir svårt att hålla reda på.

  29. Den om copyrightdatumet verkar lite överdriven när du helt enkelt kan klippa och klistra in © 2006- och det skulle göra exakt samma jobb, bara ersätta 2006 med vilket statiskt startdatum du vill. Eller missar jag något?

  30. Utmärkt, jag var klar med mitt tema och lärde mig men det fanns mycket kvar. Det här inlägget räddade min dag och naturligtvis lärde jag mig många saker också.

    Bästa hälsningar!

  31. Bra uppsättning verktyg. Jag kopierade omedelbart funktionen för gäståhörare så fort jag såg den och kommer nu att inaktivera ett klumpigt plugin jag har använt. Har du en funktion som ger post-ID för det objekt som bearbetas i redigeraren? Jag försöker automatiskt fylla i ett formulär med mediebilagor för det aktuella inlägget men har bara kunnat få det att fungera i en anpassad metaruta men inte i en tjockbox. Tjockboxen returnerar alla mediefiler för alla inlägg när jag bara vill ha bilagorna för det aktuella inlägget.

  32. Tack för de bra Wordpress-tipsen! Jag hoppades att du kunde hjälpa mig med ett ytterligare?

    Jag skulle vilja förhindra att mina taggar/kategorier hamnar på en ny rad genom att begränsa antalet taggar/kategorier som visas i sidfoten på mina individuella blogginlägg. Är det möjligt att göra detta med "the_excerpt"? Jag skulle också vilja att utdraget ska vara en "...läs mer"-länk och begränsa antalet tecken i det. Här är koden som det skulle behöva läggas till:

    $tags_list = get_the_tag_list( ”, __( ‘, ‘, ‘mummyblog’ ) ); if ( $tags_list ): ?> <li> <?php printf( __( ‘<span class=”%1$s”>Taggad</span> %2$s’, ‘mummyblog’ ), ‘entry-utility-prep entry-utility-prep-tag-links’, $tags_list ); ?> </li> <?php endif; // End if $tags_list ?>

    Tack!

  33. Som alla andra har sagt nedan – alldeles för bra, en enorm hjälp för en nybörjare och mycket användbart för att lära sig också. Fantastisk sida rakt igenom. Tack.

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.