Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

46 extremt användbara trick för funktionsfilen i WordPress

WordPress funktionsfil, känd som functions.php, är ett kraftfullt verktyg som levereras med varje WordPress-tema. Den fungerar som ett plugin, så att du enkelt kan lägga till anpassad kod på din webbplats.

Vi använder anpassad kod på våra webbplatser när en kort bit kod kan användas. Denna mångsidighet och flexibilitet i WordPress gör det möjligt för oss att kombinera funktionaliteten hos flera plugins på ett lätthanterligt sätt.

I den här artikeln delar vi med oss av några av de praktiska och användbara knepen för att använda din WordPress-funktionsfil, så att du kan få ut mer av din WordPress-webbplats.

Handy WordPress functions file tips and hacks

Vad är funktionsfilen i WordPress?

Filen functions.php är en WordPress-temafil som medföljer alla gratis och premiumteman i WordPress.

Det fungerar som ett plugin och allow utvecklare av teman att definiera funktioner i temat. Användare kan också använda det för att add to sina custom code snippets i WordPress.

Att spara anpassad kod i en funktionsfil är dock inte en bra metod.

Om du uppdaterar ditt tema kommer filen functions.php att skrivas över och du kommer att förlora dina anpassade kodsnuttar. Du kan inte stänga av ett kodavsnitt utan att radera det.

Istället rekommenderar vi att alla använder WPCode, ett gratis tillägg som låter dig insert code snippets till din WordPress website utan att redigera något theme, plugin eller core WordPress filer.

Varför rekommenderar vi WPCode?

  • Spara enkelt anpassade kodsnuttar utan att redigera några kärnfiler.
  • Infoga automatiskt kodsnuttar där du behöver dem
  • Varje kodsnutt sparas separat och kan stängas av individuellt.
  • En inbyggd felsäkerhetsmekanism inaktiverar en kodsnutt om den orsakar ett fel på din webbplats.

Som en bonus har WPCode plugin ett omfattande bibliotek med förkonfigurerade code snippets (inklusive många på denna lista). Du kan distribuera dessa code snippets med några clicks.

wpcode library

Med det sagt, här är en lista över objekt som vi kommer att täcka i den här artikeln. Du kan hoppa till en som intresserar dig eller helt enkelt följa med:

Så här addar du dessa code snippets till din website

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

1. Add Custom Code till Functions File med hjälp av WPCode (rekommenderas)

Först måste du installera och aktivera pluginet WPCode. För mer detaljer, se vår Step-by-Step guide om hur du installerar ett WordPress plugin.

Efter aktivering, gå till Code Snippets ” + Add Snippet page. Du kommer att se WPCodes kodbibliotek med många användbara anpassade code snippets som redan har addats.

Add snippet

Om ditt code snippet gör samma sak som snippeten i biblioteket kan du prova det som redan är add to där.

Alternativt kan du klicka på länken ”blank snippet” för att fortsätta lägga till ditt customize code snippet.

På nästa vy ska du ange en rubrik för din custom code. Det kan vara vad som helst som hjälper dig att ID:a vad det här code snippet gör.

Adding your custom code

Därefter måste du välja ”Code Type”. Om du ska lägga till en kod som fungerar i filen functions.php måste du välja ”PHP Snippet”.

Under det måste du kopiera och paste din custom code i boxen ”Code Preview”.

Slutligen måste du ställa in ditt snippet som ”Aktivt” och klicka på knappen ”Save Snippet”.

Activate and save

Ditt saved snippet kommer nu att run som det skulle ha gjort om du hade add to functions.php filen.

Du kan upprepa processen för att add to fler snippets när det behövs. Du kan också deactivate ett snippet utan att borttaget det.

2. Add Custom Code direkt till Functions-filen

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

Vissa användare kanske dock skriver kod för en kunds customze WordPress theme eller helt enkelt föredrar att add to kod till functions.php-filen.

I så fall kan du göra så här: add code to your WordPress theme’s functions.php file.

Anslut först till din WordPress website med hjälp av en FTP-klient. När du är ansluten navigerar du till mappen /wp-content/themes/your-wordpress-theme/.

Edit functions.php file

Där hittar du filen functions.php. Högerklicka och välj ”edit” eller download filen till din dator för att redigera den.

Du kan editera den med en plain text editor som gillar Notepad eller TextEdit.

Sedan rullar du ner längst ner i functions.php-filen och klistrar in ditt code snippet där. Du kan save dina ändringar och uploada den uppdaterade functions.php-filen till din theme folder.

Du kan nu besöka din WordPress website för att se din custom code i action.

Låt oss nu ta en titt på 46 olika användbara knep för WordPress funktionsfilen.

1. Remove WordPress versionsnummer

Du bör alltid använda den senaste versionen av WordPress. Men du kanske vill ta bort versionsnumret för WordPress från din site.

Lägg bara till det här code snippet i din functions-fil eller som ett new WPCode snippet:

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

Detaljerade instruktioner finns i vår guide om hur du tar bort WordPress versionsnummer på rätt sätt.

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

Först måste du uploada din custom logga till ditt temas images folder som custom-logo.png. Din custom-logo ska vara i förhållandet 1:1 (en square image) i 16×16 pixlar.

Efter det kan you add this code to your theme’s functions file or as a new WPCode snippet:

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 detaljer, se vår guide om hur du lägger till en custom dashboard logga i WordPress.

3. Ändra sidfoten i WordPress Admin Panel

I footern i WordPress admin area visas message ”Thank you for creating with WordPress. Du kan ändra det till vad du vill genom att lägga till den här koden:

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 gratis den text och de links som du vill add to. Så här ser det ut på vår test site.

Admin footer

4. Add Custom Dashboard Widgets i WordPress

Du har säkert sett de widgetar som många tillägg och teman addar till WordPress dashboard. Du kan själv add to en 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 gilla att se ut:

Custom dashboard widget

För detaljer, se vår tutorial om hur du lägger till custom dashboard widgets i WordPress.

5. Ändra standard Gravatar i WordPress

Har du sett standard mystery man avatar på bloggar? You can easily replace it with your own branded custom avatar.

Simply upload the image you want to use as the standard avatar and add this code to your functions file or the 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 heada till Settings ” Discussion page och välja din standard avatar.

Custom default gravatar

För detaljerade instruktioner, se vår guide om hur du ändrar standard Gravatar i WordPress.

6. Dynamiskt datum för Copyright i WordPress Footer

You can simply add a copyright date by editing the footer template in your theme. Det kommer dock inte att visa när din site startade och det kommer inte att ändras automatiskt året därpå.

Den här koden kan add to ett dynamiskt copyright-datum i WordPress footer:

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 add to följande kod där du gillar att visa det dynamiska copyrightdatumet:

<?php echo wpb_copyright(); ?>

Denna funktion letar efter datumet för din första post och datumet för din sista post. Den returnerar sedan åren varhelst du anropar funktionen.

Tips: Om du använder WPCode plugin, kan du kombinera de två code snippets. Efter det väljer du ”Site Wide Footer” location i ”Insertion” section i snippets inställningar. Detta kommer automatiskt att visa copyright-datumet i footern utan att du behöver editera filen footer.php i ditt theme.

Add to footer using WPCode

För mer detaljer, se vår guide om hur du lägger till dynamiska copyright-datum i WordPress.

7. Slumpmässigt ändra bakgrundsfärgen i WordPress

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

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

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 måste du edit filen header.php i your theme. Hitta <body> taggen och ersätt den med den här raden:

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

You can now save your changes and visit your website to see this code in action.

Random background colors

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

8. Update WordPress URL:er

Om din WordPress login page uppdateras hela tiden eller om du inte kan komma åt admin area, då måste du update WordPress URL:er.

Ett sätt att göra detta är genom att använda filen wp-config.php. Men om du gör det kan du inte ange korrekt adress på sidan med inställningar. Fälten WordPress URL och Site URL kommer att vara låsta och inte möjliga att redigera.

Istället kan du bara add to denna kod till din functions-fil för att fixa detta:

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

Glöm inte att ersätta example.com med ditt domain name.

När du är inloggad kan du gå till sidan Settings i WordPress admin area och ställa in URL:erna.

Efter det bör du ta bort koden du addade till functions-filen eller WPCode. Annars kommer den att fortsätta updating dessa URL: er närhelst din webbplats är åtkomst.

9. Add to ytterligare storlekar på images i WordPress

WordPress genererar automatiskt flera bildstorlekar när du uploadar en image. You kan också skapa ytterligare image-storlekar för att använda i your theme.

Add helt enkelt denna kod till ditt temas functions-fil eller som ett WPCode snippet:

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

Den här koden skapar tre nya images i olika storlekar. Känn dig fri att tweaka koden för att uppfylla dina obligatoriska krav.

Du kan sedan visa storleken på en image var som helst i your theme med hjälp av den här koden:

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

Detaljerade instruktioner finns i vår guide om hur du skapar ytterligare storlekar på bilder i WordPress.

10. Add new navigationsmenyer till ditt theme

WordPress allow theme developers to define navigation menus and then display them.

Du kan add to den här koden till ditt temas functions-fil eller som ett nytt WPCode snippet för att definiera en ny menu location i your theme:

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 Appearance ” Menus i din WordPress dashboard och se ’My Custom Menu’ som temats location alternativ.

Custom menu location

Note : Denna kod fungerar också med block themes med den fullständiga funktionen för att redigera site. Om du lägger till den aktiveras vyn Menyer under Appearance.

Nu måste du add denna kod till ditt theme där du vill visa navigation menu:

 <?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 custom navigation menus i WordPress teman.

11. Add to fält för profil för författare

Vill du add to extra fält till dina författares profiler i WordPress? Du kan enkelt göra det genom att lägga till den här koden i din functions-fil eller som ett new WPCode snippet:

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 addar Twitter- och Facebook-fält till profiler för användare i WordPress.

New profile fields

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 läsa vår guide om hur du lägger till ytterligare fält för användarens profil i WordPress registrering.

12. Lägga till widget-klara areas eller sidebars i WordPress Themes

Detta är ett av de mest använda code snippets, och många utvecklare vet redan hur man lägger till widget-klara areas eller sidebars till WordPress teman. Men det förtjänar att vara med på den här listan för dem som inte känner till det.

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

// 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' );

Note : Denna kod fungerar också med block themes med den fullständiga funktionen för att redigera site. Om du lägger till den aktiveras vyn Widgets under Appearance.

You can now visit the Appearance ” Widgets page and see your new custom widget area.

Custom widget area

För att visa detta sidebar eller widget-ready area på din website måste du add to följande kod i den template där du vill visa det:

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

För mer details, se vår guide om hur du lägger till dynamiska widget-klara areas och sidebars i WordPress.

13. Manipulera footern för RSS-flöde

Har du sett bloggar som addar sina annonser i sina RSS-flöden under varje post? Du kan åstadkomma detta enkelt 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 More information, se vår guide om hur du lägger till content och helt manipulerar dina RSS-flöden.

14. Add Featured Images till RSS-flöden

Inläggsminiatyren eller utvalda images visas vanligtvis bara inom din site design. Du kan enkelt utöka den funktionen 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 details, se vår guide om hur du lägger till inläggsminiatyrer i ditt WordPress RSS-flöde.

15. Dölj error vid login i WordPress

Hackare kan använda login error för att gissa om de har enter fel användarnamn eller password. Genom att dölja error vid inloggning i WordPress kan du göra ditt login area och WordPress website säkrare.

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

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

Nu kommer användarna att se ett generiskt message när de enter ett felaktigt användarnamn eller password.

Custom login errors

För mer information, se vår tutorial om att inaktivera login-tips i WordPress error messages.

16. Inaktivera login via email i WordPress

WordPress allow users to log in with their username or email address. Du kan enkelt inaktivera login via email i WordPress genom att lägga till denna kod i din functions-fil eller som ett nytt WPCode snippet:

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

För mer information, se vår guide om hur du inaktiverar funktionen login via email i WordPress.

17. Inaktivera sökfunktionen i WordPress

Om du vill inaktivera funktionen search på din WordPress site, add to denna kod till din functions-fil eller i ett new WPCode snippet:

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ökningen genom att ändra den och returnera ett 404 error istället för sökresultat.

Mer information finns i vår tutorial om hur du inaktiverar funktionen ”search” i WordPress.

Pro tips: Istället för att ge upp WordPress search, rekommenderar vi att du provar SearchWP. Det är det bästa WordPress search plugin på marknaden som allow you att lägga till en kraftfull och anpassningsbar search funktion till your website.

18. Fördröja Posts i RSS-flöde

Ibland kan det hända att du publicerar en artikel med ett grammatiskt fel eller ett stavfel.

Misstaget går live och distribueras till dina RSS-flöde prenumeranter. Om du har prenumerationer på email på din WordPress blogg, så kommer dessa prenumeranter också att få en notification.

Lägg bara till den här koden i ditt temas functions-fil eller som ett new WPCode snippet för att fördröja posts 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. Du kan gratis ändra detta till vilket antal minuter du vill.

För en plugin-metod och mer information, se vår detaljerade guide om hur man fördröjer post från att dyka upp i WordPress RSS-flöde.

19. Ändra Läsa mer-text för excerpt i WordPress

Vill du ändra den text som visas efter excerptet i dina posts? Lägg bara till den här koden i ditt temas functions-fil eller som ett nytt WPCode snippet:

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

Eller ej alla websites behöver RSS-flöden. Om du vill inaktivera RSS-flöden på din WordPress site, add to denna kod till ditt temas functions-fil eller som en new WPCode snippet:

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 längden på excerpt i WordPress

WordPress limiterar längden på excerpt till 55 ord. Du kan add to denna kod till din functions-fil eller som ett nytt WPCode snippet 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 som du vill visa i excerpten.

För alternativa metoder kanske du vill titta på vår guide om hur du customize WordPress excerpt (ingen kodning obligatorisk).

22. Add to en Admin-användare i WordPress

Om du har glömt ditt password och email till WordPress kan du lägga till en admin-användare genom att lägga till den här koden i functions-filen i ditt theme med hjälp av 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, password och email.

Import! När du loggar in på din WordPress site, glöm inte att ta bort koden från din functions file.

Om du vill veta mer om ämnet kan du läsa vår tutorial om hur du lägger till en admin-användare i WordPress med FTP.

23. Inaktivera språkomkopplare på login page

Om you run a multilingual website, then WordPress displays a language selector on the login page. Du kan enkelt inaktivera det genom att lägga till följande kod i din functions.php-fil eller som ett nytt WPCode snippet:

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 site i WordPress? Lägg bara till den här koden i functions-filen i ditt theme eller som ett new WPCode snippet:

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 shortcode som allow you att displayed det totala antalet registrerade användare på your site.

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

Mer information och ett plugin hittar du i vår tutorial om hur du visar det totala antalet registrerade användare i WordPress.

25. Uteslut specifika kategorier från RSS-flöde

Vill du utesluta specifika kategorier från ditt WordPress RSS-flöde? You can add this code to your theme’s functions file or as a new WPCode snippet:

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 Links i WordPress Comments

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 snippet:

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

För detaljer, se vår artikel om hur du inaktiverar autolänkning i WordPress comments.

27. Add Odd and Even CSS Classes till WordPress Posts

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

Du kan använda samma teknik för dina WordPress posts. Det ser estetiskt tilltalande ut och hjälper användare att snabbt skanna sidor med mycket content.

Lägg bara till den här koden i functions-filen i your theme:

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 addar helt enkelt en udda eller jämn klass till WordPress-poster. Du kan nu add to custom CSS för att styla dem på olika sätt.

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:

Alternating background colors

Behöver du mer detaljerade instruktioner? Ta en titt på vår tutorial om hur du lägger till udda/jämna klasser till dina posts i WordPress themes.

28. Add to ytterligare filtyper som kan uppladdas i WordPress

Som standard tillåter WordPress you att uploada ett limit antal av de vanligaste filtyperna. Du kan dock utöka den så att den tillåter andra filtyper.

Add bara den här koden till functions-filen i ditt theme:

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);

Denna kod allow you att uploada SVG- och PSD-filer till WordPress.

Du måste hitta mime-typerna för de filtyper du vill allow och sedan använda dem i koden.

För mer information om detta ämne, kontrollera vår tutorial om hur du lägger till ytterligare filtyper som kan uploadas i WordPress.

WordPress använder som standard en icke befintlig email address (wordpress@yourdomain.com) för att skicka utgående email.

Denna email address kan komma att flaggas som skräppost av providers av email tjänster.

Att använda WP Mail SMTP plugin är det rätta sättet att fixa detta.

WP Mail SMTP

Det fixar problem med email deliverability och allow you att välja en faktisk email address för att skicka dina WordPress-mail.

För att lära dig mer, se vår guide om hur man fixar WordPress not sending email issue.

Om du å andra sidan snabbt vill ändra detta till en riktig email address, kan du lägga till följande kod i din functions-fil eller som ett nytt WPCode snippet:

// 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 email address och namn med din egen information.

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

För bättre alternativ, se vår tutorial om hur du ändrar avsändarnamnet i utgående WordPress emails.

30. Add a Author Info Box in WordPress Posts (Lägg till en Info Box för Författare i WordPress-poster)

Om du runar en multi-site och vill visa upp författarnas bio i slutet av dina posts kan du prova den här metoden.

Börja med att lägga till den här koden i din functions-fil eller som ett nytt WPCode snippet:

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 måste du add to lite custom CSS för att få det att se bättre ut.

Du kan använda detta exempel på CSS som 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 author box att gilla att se ut:

Author bio box

För en plugin-metod och mer detaljerade instruktioner, kontrollera vår artikel om hur du lägger till en författarinfo box i WordPress-poster.

31. Inaktivera XML-RPC i WordPress

XML-RPC är en metod som allow appar från tredje part att kommunicera med din WordPress site på distans. Detta kan orsaka säkerhetsproblem och kan utnyttjas av hackare.

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

add_filter('xmlrpc_enabled', '__return_false');

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

32. Länka automatiskt Featured Images till inlägg

Om ditt WordPress theme inte automatiskt länkar featured images till hela artiklar, kan du prova den här metoden.

Lägg bara till den här koden i functions-filen i your theme eller som ett new WPCode snippet:

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 du automatiskt länkar featured images till utvalda inlägg i WordPress.

33. Inaktivera Block Editor i WordPress

WordPress använder en modern och intuitiv editor för att skriva innehåll och redigera din webbplats. Denna editor använder block för vanligt förekommande innehålls- och layoutelement, vilket är anledningen till att den kallas Block Editor.

I vissa fall kan du dock behöva använda den äldre Classic Editor.

Det enklaste sättet att inaktivera block editor är genom att använda Classic Editor plugin. Men om du inte vill använda ett separat plugin, lägg bara till följande kod i din functions-fil eller som ett nytt WPCode snippet:

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

För mer detaljer, se vår tutorial om hur du inaktiverar Block Editor och använder Classic Editor.

34. Inaktivera Block Widgets i WordPress

WordPress bytte från klassiska widgets till block-widgets i WordPress 5.8. De nya block-widgetarna är användarvänliga och ger dig mer design control än klassiska widgetar.

Men vissa användare kanske 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 snippet:

add_filter( 'use_widgets_block_editor', '__return_false' );

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

35. Display the Last Updated Date i WordPress

När visitors viewar ett inlägg eller en page på din WordPress blogg, kommer ditt WordPress theme att visa det datum då inlägget publicerades. Detta är bra för de flesta bloggar och statiska websites.

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

Last updated date

Du kan visa det senast uppdaterade datumet med hjälp av följande kod i ditt temas functions-fil eller som ett nytt WPCode snippet:

$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 du visar det senast uppdaterade datumet i WordPress.

36. Använd filnamn med gemener för uploads

Om you runar en website med flera författare kan författarna uploada images med filnamn i stora och små bokstäver.

Genom att lägga till följande kod säkerställs att alla filnamn skrivs med små bokstäver:

add_filter( 'sanitize_file_name', 'mb_strtolower' );

Note: Koden kommer ej att ändra filnamn för befintliga uppladdare. För alternativa metoder, se vår tutorial om hur man byter namn på images och media files i WordPress.

37. Inaktivera WordPress Admin Bar på Front-end

Som standard visar WordPress admin bar högst upp när en inloggad användare viewar din website.

Du kan inaktivera admin bar för alla användare utom site administratörer. Lägg bara till följande kod i din functions-fil eller som ett nytt WPCode snippet:

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

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

38. Ändra hej Admin-text i Admin Area

WordPress displayed en ”Hej Admin”-hälsning i WordPress dashboard. ”Admin” ersätts av den inloggade användarens namn.

Howdy greeting

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

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 detaljer, se vår artikel om hur du ändrar ”Hej Admin” message i WordPress.

39. Inaktivera kodredigering i Block Editor

Block Editor allow you to switch to the Code Editor. Detta är praktiskt om du behöver add to HTML-kod manuellt.

You may want to keep this function limited to site administratörs.

Du kan add to följande kod till din functions-fil eller som ett WPCode snippet för att uppnå detta:

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

	return $settings;
} );

40. Inaktivera Plugin / Theme File Editor

WordPress har en built-in editor där du kan edit filer för plugins. Du kan se den genom att gå till Plugins ” Plugin File Editor page.

Plugin file editor in WordPress

På samma sätt har WordPress också en fil editor för klassiska themes kl. appearance ” Theme File Editor.

Note: Om du använder ett block theme är temafilens editor inte synlig.

Theme file editor

Vi rekommenderar inte att du använder dessa editors för att göra ändringar i ditt theme eller plugin. Ett litet misstag i koden kan göra din website otillgänglig för alla användare.

För att inaktivera plugin/theme editor, add to följande kod till din functions-fil eller som ett WPCode snippet:

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

Mer detaljer finns i vår tutorial om hur du inaktiverar plugin/theme editor i WordPress.

41. Inaktivera aviseringar för nya användare via email

Som standard skickar WordPress en email notification när en new användare ansluter sig till your WordPress website.

If you run a WordPress membership website or require users to signup, then you will get a notification each time a user joins your website.

För att stänga av dessa aviseringar kan du add to följande till din functions-fil eller som ett nytt WPCode snippet:

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 details, se vår tutorial om hur du inaktiverar email notifications för nya användare i WordPress.

42. Inaktivera Automatic Update Email Notifications

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

Den skickar en automatisk update email notification efter varje update. Om du hanterar flera WordPress-webbplatser kan du få flera sådana email.

Du kan lägga till den här koden i din functions-fil eller som ett nytt WPCode snippet för att stänga av dessa email notifications:

/ 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 mer information, se vår artikel om hur du inaktiverar automatisk update email i WordPress.

43. Add a Link för att enkelt duplicera en post

Har du någonsin önskat ett enklare sätt att snabbt kopiera all content i en post för edit utan att röra den publicerade posten?

Följande code snippet kommer att add to ett alternativ för att enkelt duplicera en post med all dess content:

// 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.' );
	}
} );

När du har lagt till koden går du till vyn Posts ” Alla annonser och för musen till en posttitel.

Du kommer att notera en new ”Duplicate” link under alternativen.

Duplicate post link

Om du klickar på länken skapas en kopia av posten med allt dess content. Du kan sedan arbeta vidare med detta draft.

När du är slutförd kan du kopiera och klistra in dina ändringar i det ursprungliga publicerade posten och ta bort kopian.

För en metod med plugin, se vår artikel om att duplicera ett WordPress post eller page.

44. Remove Welcome Panel från WordPress dashboard för admin

Welcome Panel appear in the WordPress adminpanel. Den kan enkelt dismissas eller döljas genom att clicka på knappen ”Screen Options”.

Welcome panel

Men om du arbetar för att göra dashboard-upplevelsen renare för användarna kanske du vill dölja den permanent.

Add to följande kod för att inaktivera den för alla användare på din site:

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

45. Add a Featured Image Column for Posts in WordPress Admin (Lägg till en Column med Featured Image för inlägg i WordPress Admin)

Som standard visar WordPress bara featured images när du viewar din site eller när du editerar ett inlägg eller en page.

Följande kod kommer att add en new column till Posts ” All Posts skärmen för featured images:

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 ) );
	}
} );

Så här skulle det se ut efter att du har lagt till koden.

Featured image column

46. Block WordPress Admin Area för alla utom administratörer

Vissa WordPress-webbplatser kan behöva användare att registrera ett account. Till exempel en WordPress membership site eller en eCommerce store.

De flesta sådana tillägg hindrar dessa användare från att komma åt admin area. 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 admin area:

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

Användare med andra roller kan fortfarande logga in på sina konton, men efter logging kommer de att redirectas till homepage.

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

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Avslöjande: Vårt innehåll stöds av våra läsare. 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 editoriala process.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Den ultimata WordPress-verktygslådan

Få GRATIS tillgång till vår verktygslåda - en samling WordPress-relaterade produkter och resurser som varje professionell användare bör ha!

Reader Interactions

115 kommentarerLämna ett svar

  1. DANISH

    such a great and useful tricks.. :)

  2. Marco

    thank you so much!

  3. Webtechideas

    Such a nice list of useful tricks. It will help both plugin and theme developers.

  4. ahmed

    In #14, isn’t that a instead of ?

  5. Mick O

    Thanks for the helpful article. I really appreciate it. Can you possibly explain why the snippet to add Google analytics (#1) code includes the php declarations. If I have an existing functions.php file that is already defined with , do I need to include the markers again in the snippet? I’m trying to add other customizations into the functions.php and it’s getting hard to keep track.

    • Editorial Staff

      It includes opening php because it is closing PHP tag to allow you to paste plain HTML Google analytics code.

      Administratör

  6. Luke Gibson

    The one about the copyright date seems a little OTT when you could simply cut and paste in © 2006- and it would do exactly the same job, just replace 2006 with whatever static start date you wish. Or am I missing something?

    • Editorial Staff

      Yes, you can definitely do that. But if you are releasing this as part of a theme meant for distribution, then you can’t do that.

      Administratör

  7. Zeeshan Arshad

    Excellent, I was done with my theme and learning but there was much left. This post saved my day and of course I learnt many things as well.

    Best Wishes!

  8. DesignSkew

    In ”Add Author Profile Fields”, the function you mentioned to echo is not working.

  9. Mark

    Great set of tools. I immediately copied the guest author function as I saw it and will now disable a clumsy plugin I’ve been using. Do you have a function that will provide the post ID of the item being worked with in the editor? I’m trying to auto fill a form with media attachments for the current post but have only been able to get it to work in a custom meta-box but not in a thickbox . The thickbox returns all the media files for all the posts when I just want the current posts’s attachments.

  10. mommyblogger

    Thanks for the great Wordpress tips! I was hoping you could help me with an additional one?

    I’d like to prevent my tags/categories from spilling over onto another line by limiting the number of tags/categories that appear in the footer of my individual homepage posts. Is it possible to do this with the ”the_excerpt”? I would also like the excerpt to be a ”…read more” link and limit the number of characters in it. Here is the code it would need to be added to;

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

    Thanks!

  11. SteveEBoy

    Like all the others have said below – just too good, a massive help for a newbie and very useful for learning too. Great site all round. Thanks.

  12. LambrosPower

    one of the best tutorials i read. Many important topics pointed out and for sure i didn’t know most of them since i just started wordpress custom design.

  13. Xiaozhuli

    This article is endlessly useful. I bookmarked it and often refer to it when updating my theme or trying to answer a question. Great job!

  14. Mohammad Yeasin

    You guys are just awesome. You know what, wpbegineer is the first website for which i have a separate folder in my bookmark menu. Too good for a wp begineer. youe name suits ur personality. lolz. One day i would must do something special for you. Inshallah.
    The only problem i face is related post with thumbnail. your coder are not working. vDont know what to do. Whatever, Keep up the marvelous job. Love the site wpbegineer.

  15. AA

    Great post! You obviously know a lot about wordpress coding so I’m hoping you can answer a question. How to you remove the date & time stamp from a wordpress feed-rss? I’ve looked everywhere and can’t find any information on this. I’m working on a wordpress ”site” and do not have a use for the dates. I have already removed them from the posts & pages.

    Much thanks in advance!

    • Editorial Staff

      Date is NOT optional for RSS feeds. It is a MUST because that is how posts / articles are organized (reverse chronological order). You can remove the display of dates from the template, but you cannot remove them from the XML.

      Administratör

  16. Michele Welch

    Awesome post! Can’t wait to get started on the custom dashboard gravatar! Really exceptional post. :-)

  17. Phil

    Great article, I’ve bookmarked it for future reference. Just found wpbeginner by chance what a great resource, thanks!

  18. wparena

    it is really good that you compiled all impotent things at one place

  19. Mark Welburn

    Good stuff, bookmarked this already. Can see a few of these come to good use more than once. Cheers, Mark.

  20. Connor Crosby

    Just a note, be careful when you copy and paste the ”end of excerpt” function. It showed a question mark instead of ”…” since it was one character. I had to rewrite ”…” for it show up.

  21. Martin

    Probably the best post about the use of functions.php. Thanks for the tricks and for saving our time.

  22. mark.

    I would suggest an addendum be made to Tip #3 mentioning the fact that this is not security in any way shape or form, and is definitely not an alternative to upgrading as people should.

    Hiding the version number is only beneficial to those of us who like to keep unnecessary junk out of the HEAD of your HTML document. Outside of that, it serves no purpose and should not be confused with security; to help illustrate that point: http://dd32.id.au/2010/07/31/what-version-of-wordpress-is-behind-that-website/

  23. helpin

    Could you tell me if I need to add these codes for every theme which my multi site have? Is there any there way which these codes automatically apply to the newly added themes?

    Thanks !

    • Editorial Staff

      You would have to add these to your theme’s functions.php file. So if it is a theme that is available on all networks, then only once. If there are custom themes being used on each network site, then you would have to do it on each….

      Administratör

  24. Connor Crosby

    Very nice list. I didn’t know you could do so much with the functions.php file!

  25. Andy

    You guys rock!!! Thanks for the awesome post.

    Best,

    Andy

  26. tarpontech

    Best Damn Wordpress Article I’ve ever stumbled across.

  27. ddeja

    Thanks for those tips. Some are new for me. So I will be probably try to use them:)

    Thanks again.

  28. Chuck Reynolds

    Since WP3 final release you need to update #11 to

    add_theme_support( ’menus’ );

  29. William

    Thanks for the insightful post. Registering sidebar widgets and customising the excerpt mode is going to be handy. Cheers

  30. Kate Mag

    Thanks for sharing extremely useful tricks. I didn’t know few tricks before, i know now!.

  31. Adam

    Okay, the dynamic copyright date in the footer is one of the coolest tricks for Wordpress I’ve come across. Always hate having to do that each year, but not anymore. Thanks for sharing that one!

  32. Susan

    Hi, I am trying to change the default gravatar. The option to choose my new gravatar is showing up however instead of my pic for my gravatar it is showing a broken pic link. I know the path works cause it does when I plug it in to the browser the pic comes up. I have also tried .gif, .png, .jpg and they are all broken. Also it is sized per my theme at 48px X 48px Can you help?

    • Susan

      I finally got it!! Thanks for the awesome post btw.

  33. Dave Z

    There are some good suggestions here. Implementation could be improved for a few of them.

    For instance, in #8 – Dynamic Copyright, it would probably be better to call the function during the publish_page and publish_post actions. Then, instead of printing the year to the screen, the value (year range) could be stored in the options table (with update_option()). In the theme, you would do something like: echo get_option( ’comicpress_copyright’, date( ’Y’ ) );. This would give the current year as the default date, or your preset range. The advantage here is that you eliminate the constant need to query the database for the years during every page load (since get_option can be configured to load automatically with the rest of the options). WordPress can already be heavy on database queries, no need to add an additional one if it can be avoided!

    #18 – Remove Login Errors is removing -all- login errors, which could be bad because it also omits notices about disabled cookies, etc. A more effective approach would be to have the function return:

    str_replace( array( ’Invalid username’, ’Incorrect password’ ), ’Invalid username or password’, $str );

    This keeps the user informed of potential errors while obfuscating which field the error actually occurred in. One thing to keep in mind is that if the username is correct, WordPress will auto-populate that field in subsequent login attempts. A hacker aware of WordPress operation would then know that the username was indeed valid. You can prevent this by commenting out the appropriate section in the wp-login.php file (lines 529-530 in version 2.9.2)–not ideal, I know, but there are no hooks at that point in the code.

    Nice tips. I like the Post Thumbnails demonstration.

  34. Abdullah

    Nice post.. very useful information.

    Thnkx wpbeginner for making us more professional in our field.

    Regards
    Mohummad Abdullah

  35. Zhu

    Thank you for the tips, I already implemented a few (like the custom Gravatar) and they work just fine!

  36. Sahus Pilwal

    Thanks for the extremely helpful tips. I wish I could find more extremely useful tricks/hack articles for WordPress!

    Cheers, Sahus

  37. graphicbeacon

    slight problem with NO. 14. Widget title starts with a h2 tag and ends with an h3- Wouldnt validate well methinks.

  38. Todd Santoro

    here is one for changing the login logo:

    function the_custom_login_logo() {
    echo ’
    h1 a { background-image:url(’.get_bloginfo(’template_directory’).’/images/custom-login-logo.gif) !important; }
    ’;
    }

    add_action(’login_head’, ’the_custom_login_logo’);

    • Todd Santoro

      Make sure you change the single quotes in this code to actuall single quotes as WP strips them in the comments so the PHP code is not executed. Better yet retype it and you will have no problem.

      Cheers!

  39. Kenton Bell

    I am really impressed with this list, better options than hacking away at the theme files that get lost in upgrades. Thank you.

  40. Raoni

    Hi,

    just an update, in item 4. Add a Custom Dashboard Logo, in WordPress 3 the ”custom-logo.gif” now is a .png image.

    Great collection!!!!

  41. Andris

    That was a very useful post. I just implemented ”4. Add a custom Dashboard Logo” to my Website.

  42. Todd Santoro

    Great post. I have this in my WP tool box now. It has everything a theme designer would need in one article. Thanks WPBeginner!

  43. Jake Goldman

    Great tips. Got a kick out of seeing a few of mine in there. :-) lots of new tips coming soon in my next article!

  44. Tony

    Finally! I know how to cure the incorrect comment count! Thanks, WPBeginner!

  45. DaveK

    Brilliance, I will be putting quite a few of these to good use.

    Congrats on the site guys you go from strength to strength, I usually manage to find something useful here.

    Keep up the good work.

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åra policy för kommentarer, och din e-postadress kommer INTE att publiceras. Vänligen använd INTE nyckelord i namnfältet. Låt oss ha en personlig och meningsfull konversation.