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

46 trucchi estremamente utili per il file delle funzioni di WordPress

Nota editoriale: guadagniamo una commissione dai link dei partner su WPBeginner. Le commissioni non influenzano le opinioni o le valutazioni dei nostri redattori. Per saperne di più su Processo editoriale.

Vi state chiedendo cosa potete fare con il file delle funzioni di WordPress?

Tutti i temi WordPress sono dotati di un file functions.php. Questo file agisce come un plugin, consentendo agli sviluppatori di temi e agli utenti generici di aggiungere facilmente codice personalizzato in WordPress.

In questo articolo vi mostreremo alcuni utili trucchi per il file delle funzioni di WordPress.

Handy WordPress functions file tips and hacks

Che cos’è il file delle funzioni in WordPress?

Il file functions.php è un file del tema WordPress che viene fornito con tutti i temi WordPress gratuiti e premium.

Funziona come un plugin e consente agli sviluppatori di temi di definire le caratteristiche del tema. Gli utenti possono anche usarlo per aggiungere i loro snippet di codice personalizzati in WordPress.

Tuttavia, mantenere il codice personalizzato nel file functions del tema non è il modo migliore per salvare le personalizzazioni. Se si aggiorna il tema, il file functions.php verrà sovrascritto e si perderanno i frammenti di codice personalizzati.

Consigliamo invece a tutti di utilizzare WPCode, un plugin gratuito che consente di inserire snippet di codice nel sito WordPress senza modificare alcun tema, plugin o file core di WordPress.

La parte migliore è che tutto il codice personalizzato viene salvato separatamente, quindi qualsiasi aggiornamento di WordPress non lo rimuoverà.

Come bonus, il plugin WPCode dispone di un’ampia libreria di snippet di codice preconfigurati (tra cui molti di quelli presenti in questo elenco). È possibile distribuire questi snippet di codice con pochi clic.

wpcode library

Detto questo, ecco un elenco di elementi che tratteremo in questo articolo. Potete passare a quello che vi interessa o semplicemente seguirlo:

Come aggiungere questi snippet di codice al vostro sito web

Prima di iniziare, vediamo come aggiungere gli snippet di codice di questo articolo al vostro file functions di WordPress.

1. Aggiungere codice personalizzato al file delle funzioni usando WPCode (consigliato)

Per prima cosa, è necessario installare e attivare il plugin WPCode. Per maggiori dettagli, consultate la nostra guida passo passo su come installare un plugin di WordPress.

Dopo l’attivazione, andare alla pagina Code Snippets ” + Add Snippet. Vedrete la libreria di codice di WPCode con molti utili snippet di codice personalizzati già aggiunti.

Add snippet

Se il vostro frammento di codice fa la stessa cosa di quelli presenti nella libreria, potete provare quello già aggiunto.

In alternativa, fare clic sul link “snippet vuoto” per continuare ad aggiungere il proprio snippet di codice personalizzato.

Nella schermata successiva, indicare un titolo per il codice personalizzato. Può essere qualsiasi cosa che aiuti a identificare l’azione di questo snippet di codice.

Adding your custom code

Successivamente, è necessario scegliere il “Tipo di codice”. Se si sta aggiungendo un codice che funziona nel file functions.php, è necessario selezionare “PHP Snippet”.

Di seguito, è necessario copiare e incollare il codice personalizzato nella casella “Anteprima codice”.

Infine, è necessario impostare lo snippet come ‘Attivo’ e fare clic sul pulsante ‘Salva snippet’.

Activate and save

Lo snippet salvato verrà eseguito come se fosse stato aggiunto al file functions.php.

È possibile ripetere la procedura per aggiungere altri snippet quando necessario. È anche possibile disattivare un frammento senza eliminarlo.

2. Aggiungere codice personalizzato direttamente nel file delle funzioni

Il metodo WPCode è sempre meglio dell’aggiunta di codice al file delle funzioni del tema.

Tuttavia, alcuni utenti potrebbero scrivere codice per il tema WordPress personalizzato di un cliente o semplicemente preferire aggiungere codice al file functions.php.

In questo caso, ecco come aggiungere del codice al file functions.php del vostro tema WordPress.

Per prima cosa, collegatevi al vostro sito WordPress utilizzando un client FTP. Una volta connessi, navigare nella cartella /wp-content/themes/your-wordpress-theme/.

Edit functions.php file

Qui si trova il file functions.php. È sufficiente fare clic con il pulsante destro del mouse e selezionare la modifica o scaricare il file sul computer per modificarlo.

È possibile modificarlo con qualsiasi editor di testo semplice, come Notepad o TextEdit.

Quindi, scorrere fino alla parte inferiore del file functions.php e incollarvi il frammento di codice. È possibile salvare le modifiche e caricare il file functions.php aggiornato nella cartella del tema.

Ora è possibile visitare il sito web di WordPress per vedere il codice personalizzato in azione.

Ora diamo un’occhiata a 46 diversi trucchi utili per il file functions di WordPress.

1. Rimuovere il numero di versione di WordPress

Dovreste sempre utilizzare l’ultima versione di WordPress. Tuttavia, potreste voler rimuovere il numero di versione di WordPress dal vostro sito.

È sufficiente aggiungere questo frammento di codice al file delle funzioni o come nuovo frammento di WPCode:

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

Per istruzioni dettagliate, consultate la nostra guida sul modo corretto di rimuovere il numero di versione di WordPress.

Volete dare un marchio bianco all’area di amministrazione di WordPress? L’aggiunta di un logo personalizzato alla dashboard è il primo passo del processo.

Per prima cosa, è necessario caricare il logo personalizzato nella cartella images del tema come custom-logo.png. Il logo personalizzato deve avere un rapporto 1:1 (un’immagine quadrata) di 16×16 pixel.

Successivamente, è possibile aggiungere questo codice al file delle funzioni del tema o come nuovo snippet di WPCode:

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

Per maggiori dettagli, consultate la nostra guida su come aggiungere un logo personalizzato alla dashboard di WordPress.

3. Modificare il piè di pagina nel pannello di amministrazione di WordPress

Il piè di pagina nell’area di amministrazione di WordPress mostra il messaggio “Grazie per aver creato con WordPress”. È possibile cambiarlo con qualsiasi cosa si desideri aggiungendo questo codice:

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

Sentitevi liberi di modificare il testo e i link che volete aggiungere. Ecco come appare sul nostro sito di prova.

Admin footer

4. Aggiungere widget di dashboard personalizzati in WordPress

Probabilmente avete visto i widget che molti plugin e temi aggiungono alla dashboard di WordPress. Potete aggiungerne uno voi stessi incollando il seguente codice:

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

Ecco come apparirebbe:

Custom dashboard widget

Per maggiori dettagli, consultate il nostro tutorial su come aggiungere widget personalizzati alla dashboard di WordPress.

5. Cambiare il Gravatar predefinito in WordPress

Avete visto l’avatar predefinito dell’uomo misterioso sui blog? Potete facilmente sostituirlo con il vostro avatar personalizzato.

È sufficiente caricare l’immagine che si desidera utilizzare come avatar predefinito e aggiungere questo codice al proprio file di funzioni o al plugin WPCode:

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

Ora è possibile accedere alla pagina Impostazioni ” Discussione e selezionare l’avatar predefinito.

Custom default gravatar

Per istruzioni dettagliate, consultate la nostra guida su come cambiare il gravatar predefinito in WordPress.

6. Data di copyright dinamica nel piè di pagina di WordPress

È possibile aggiungere una data di copyright modificando il modello del piè di pagina del tema. Tuttavia, non mostrerà la data di inizio del sito e non cambierà automaticamente l’anno successivo.

Questo codice può aggiungere una data di copyright dinamica nel piè di pagina di WordPress:

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

Dopo aver aggiunto questa funzione, è necessario aprire il file footer.php e aggiungere il seguente codice nel punto in cui si desidera visualizzare la data dinamica del copyright:

<?php echo wpb_copyright(); ?>

Questa funzione cerca la data del primo messaggio e la data dell’ultimo messaggio. Restituisce quindi gli anni nel punto in cui si chiama la funzione.

Suggerimento: se si utilizza il plugin WPCode, è possibile combinare i due snippet di codice. In seguito, nella sezione “Inserimento” delle impostazioni dello snippet, scegliere la posizione “Piè di pagina del sito”. In questo modo la data del copyright verrà automaticamente visualizzata nel piè di pagina senza modificare il file footer.php del tema.

Add to footer using WPCode

Per maggiori dettagli, consultate la nostra guida su come aggiungere date di copyright dinamiche in WordPress.

7. Cambiare casualmente il colore di sfondo in WordPress

Volete cambiare casualmente il colore dello sfondo del vostro blog WordPress a ogni visita e ricarica della pagina? Ecco come farlo facilmente.

Per prima cosa, aggiungete questo codice al file functions del vostro tema o al plugin 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; 
} 

Successivamente, è necessario modificare il file header.php del tema. Trovare il tag <body> e sostituirlo con questa riga:

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

Ora è possibile salvare le modifiche e visitare il sito web per vedere il codice in azione.

Random background colors

Per maggiori dettagli e metodi alternativi, consultate il nostro tutorial sulla modifica casuale del colore di sfondo in WordPress.

8. Aggiornare gli URL di WordPress

Se la pagina di accesso a WordPress si aggiorna continuamente o non è possibile accedere all’area di amministrazione, è necessario aggiornare gli URL di WordPress.

Un modo per farlo è utilizzare il file wp-config.php. Tuttavia, se lo fate, non potrete impostare l’indirizzo corretto nella pagina delle impostazioni. I campi URL di WordPress e URL del sito saranno bloccati e non modificabili.

Invece, basta aggiungere questo codice al file delle funzioni per risolvere il problema:

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

Non dimenticate di sostituire example.com con il vostro nome di dominio.

Una volta effettuato l’accesso, è possibile accedere alla pagina Impostazioni nell’area di amministrazione di WordPress e impostare gli URL.

Successivamente, è necessario rimuovere il codice aggiunto al file delle funzioni o a WPCode. Altrimenti, continuerà ad aggiornare questi URL ogni volta che si accede al sito.

9. Aggiungere ulteriori dimensioni alle immagini in WordPress

WordPress genera automaticamente diverse dimensioni di immagine quando si carica un’immagine. È inoltre possibile creare ulteriori dimensioni di immagine da utilizzare nel tema.

È sufficiente aggiungere questo codice al file functions del tema o come snippet di WPCode:

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

Questo codice crea tre nuove immagini di dimensioni diverse. Sentitevi liberi di modificare il codice per soddisfare le vostre esigenze.

È quindi possibile visualizzare le dimensioni dell’immagine in qualsiasi punto del tema utilizzando questo codice:

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

Per istruzioni dettagliate, consultate la nostra guida sulla creazione di immagini di dimensioni aggiuntive in WordPress.

10. Aggiungere nuovi menu di navigazione al tema

WordPress consente agli sviluppatori di temi di definire i menu di navigazione e di visualizzarli.

È possibile aggiungere questo codice al file functions del tema o come nuovo snippet di WPCode per definire una nuova posizione del menu nel tema:

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

Ora è possibile andare su Aspetto ” Menu nella dashboard di WordPress e vedere “Il mio menu personalizzato” come opzione di localizzazione del tema.

Custom menu location

Nota: questo codice funziona anche con i temi a blocchi con la funzione di modifica completa del sito. L’aggiunta di questo codice abilita la schermata Menu in Aspetto.

Ora è necessario aggiungere questo codice al tema in cui si desidera visualizzare il menu di navigazione:

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

Per istruzioni dettagliate, consultate la nostra guida su come aggiungere menu di navigazione personalizzati nei temi WordPress.

11. Aggiungere i campi del profilo dell’autore

Volete aggiungere campi extra ai vostri profili autore in WordPress? Potete farlo facilmente aggiungendo questo codice al vostro file functions o come nuovo snippet WPCode:

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

Questo codice aggiunge i campi di Twitter e Facebook ai profili degli utenti di WordPress.

New profile fields

Ora è possibile visualizzare questi campi nel modello di autore in questo modo:

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

Si consiglia di consultare anche la nostra guida sull’aggiunta di campi aggiuntivi per il profilo utente nella registrazione di WordPress.

12. Aggiunta di aree o barre laterali pronte per i widget nei temi WordPress

Questo è uno degli snippet di codice più utilizzati e molti sviluppatori sanno già come aggiungere aree o barre laterali pronte per i widget ai temi WordPress. Ma merita di essere inserito in questo elenco per coloro che non lo sanno.

È possibile incollare il seguente codice nel file functions.php o come nuovo snippet di WPCode:

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

Nota: questo codice funziona anche con i temi a blocchi con la funzione di modifica completa del sito. L’aggiunta di questo codice abilita la schermata dei widget in Aspetto.

Ora è possibile visitare la pagina Aspetto ” Widget e vedere la nuova area dei widget personalizzati.

Custom widget area

Per visualizzare questa barra laterale o area pronta per i widget sul vostro sito web, dovrete aggiungere il seguente codice nel modello in cui volete visualizzarla:

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

Per maggiori dettagli, consultate la nostra guida su come aggiungere aree e barre laterali dinamiche pronte per i widget in WordPress.

13. Manipolare il piè di pagina del feed RSS

Avete visto i blog che aggiungono le loro pubblicità nei loro feed RSS sotto ogni post? Potete realizzarlo facilmente con una semplice funzione. Basta incollare il seguente codice:

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

Per ulteriori informazioni, consultare la nostra guida su come aggiungere contenuti e manipolare completamente i feed RSS.

14. Aggiungere immagini in primo piano ai feed RSS

Le miniature dei post o le immagini in primo piano vengono solitamente visualizzate solo all’interno del design del sito. È possibile estendere facilmente questa funzionalità al feed RSS con il seguente codice:

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

Per maggiori dettagli, consultate la nostra guida su come aggiungere le miniature dei post al vostro feed RSS di WordPress.

15. Nascondere gli errori di accesso in WordPress

Gli hacker possono usare gli errori di login per indovinare se hanno inserito un nome utente o una password sbagliati. Nascondendo gli errori di accesso in WordPress, è possibile rendere più sicura l’area di accesso e il sito web WordPress.

È sufficiente aggiungere il seguente codice al file functions del tema o come nuovo snippet di WPCode:

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

Ora gli utenti vedranno un messaggio generico quando inseriscono un nome utente o una password errati.

Custom login errors

Per ulteriori informazioni, consultate il nostro tutorial sulla disabilitazione dei suggerimenti per il login nei messaggi di errore di WordPress.

16. Disabilitare l’accesso via e-mail in WordPress

WordPress consente agli utenti di accedere con il proprio nome utente o indirizzo e-mail. Potete facilmente disabilitare il login via e-mail in WordPress aggiungendo questo codice al vostro file functions o come nuovo snippet di WPCode:

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

Per ulteriori informazioni, consultate la nostra guida su come disabilitare la funzione di login via e-mail in WordPress.

17. Disattivare la funzione di ricerca in WordPress

Se volete disabilitare la funzione di ricerca del vostro sito WordPress, aggiungete semplicemente questo codice al vostro file functions o in un nuovo snippet WPCode:

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

Questo codice disabilita semplicemente la query di ricerca modificandola e restituendo un errore 404 invece dei risultati della ricerca.

Per ulteriori informazioni, consultate il nostro tutorial sulla disattivazione della funzione di ricerca di WordPress.

Suggerimento: invece di rinunciare alla ricerca su WordPress, vi consigliamo di provare SearchWP. È il miglior plugin di ricerca per WordPress sul mercato che vi permette di aggiungere una funzione di ricerca potente e personalizzabile al vostro sito web.

18. Ritardare i messaggi nel feed RSS

A volte può capitare di pubblicare un articolo con un errore grammaticale o di ortografia.

L’errore viene pubblicato e distribuito agli abbonati al feed RSS. Se sul vostro blog WordPress sono presenti abbonamenti e-mail, anche questi riceveranno una notifica.

È sufficiente aggiungere questo codice al file functions del vostro tema o come nuovo snippet di WPCode per ritardare i post nel vostro feed RSS:

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

In questo codice, abbiamo usato 10 minuti come tempo di attesa o ritardo. È possibile modificare questo valore in qualsiasi numero di minuti si desideri.

Per un metodo di plugin e maggiori informazioni, consultate la nostra guida dettagliata su come ritardare la visualizzazione dei post nel feed RSS di WordPress.

19. Cambiare il testo di approfondimento per gli estratti in WordPress

Volete cambiare il testo che appare dopo l’estratto nei vostri post? Aggiungete semplicemente questo codice al file functions del vostro tema o come nuovo snippet di WPCode:

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. Disattivare i feed RSS in WordPress

Non tutti i siti web hanno bisogno di feed RSS. Se volete disabilitare i feed RSS sul vostro sito WordPress, aggiungete questo codice al file functions del vostro tema o come nuovo snippet di WPCode:

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

Per un metodo di plugin e ulteriori informazioni, consultate la nostra guida su come disabilitare i feed RSS in WordPress.

21. Cambiare la lunghezza dell’estratto in WordPress

WordPress limita la lunghezza degli estratti a 55 parole. È possibile aggiungere questo codice al file delle funzioni o a un nuovo snippet di WPCode, se si desidera modificarlo:

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

Basta cambiare 100 con il numero di parole che si desidera mostrare negli estratti.

Per metodi alternativi, potete consultare la nostra guida su come personalizzare gli estratti di WordPress (non è necessario alcun codice).

22. Aggiungere un utente amministratore in WordPress

Se avete dimenticato la password e l’e-mail di WordPress, potete aggiungere un utente amministratore aggiungendo questo codice al file functions del vostro tema utilizzando un client FTP:

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

Non dimenticate di compilare i campi nome utente, password ed e-mail.

Importante: Una volta effettuato l’accesso al sito WordPress, non dimenticate di eliminare il codice dal file delle funzioni.

Per saperne di più su questo argomento, date un’occhiata al nostro tutorial su come aggiungere un utente amministratore in WordPress usando l’FTP.

23. Disabilitare il selettore di lingua nella pagina di accesso

Se gestite un sito web multilingue, WordPress visualizza un selettore di lingua nella pagina di accesso. Potete facilmente disabilitarlo aggiungendo il seguente codice al vostro file functions.php o come nuovo snippet di WPCode:

add_filter( 'login_display_language_dropdown', '__return_false' );

24. Mostrare il numero totale di utenti registrati in WordPress

Volete mostrare il numero totale di utenti registrati sul vostro sito WordPress? Aggiungete semplicemente questo codice al file functions del vostro tema o come nuovo snippet WPCode:

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

Questo codice crea uno shortcode che consente di visualizzare il numero totale di utenti registrati sul sito.

Ora è sufficiente aggiungere lo shortcode [user_count] al post o alla pagina in cui si vuole mostrare il numero totale di utenti.

Per ulteriori informazioni e per un metodo di plugin, consultate il nostro tutorial su come visualizzare il numero totale di utenti registrati in WordPress.

25. Escludere categorie specifiche dal feed RSS

Volete escludere categorie specifiche dal vostro feed RSS di WordPress? Potete aggiungere questo codice al file functions del vostro tema o come nuovo snippet WPCode:

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

26. Disabilitare i collegamenti URL nei commenti di WordPress

Per impostazione predefinita, WordPress converte un URL in un link cliccabile nei commenti.

È possibile interrompere questa operazione aggiungendo il seguente codice al file delle funzioni o come nuovo snippet di WPCode:

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

Per maggiori dettagli, consultate il nostro articolo su come disabilitare l’autolink nei commenti di WordPress.

27. Aggiungere classi CSS pari e dispari ai post di WordPress

Forse avete visto che i temi di WordPress utilizzano una classe pari o dispari per i commenti di WordPress. Questo aiuta gli utenti a visualizzare la fine di un commento e l’inizio del successivo.

Potete utilizzare la stessa tecnica per i vostri post su WordPress. Ha un aspetto estetico gradevole e aiuta gli utenti a scansionare rapidamente le pagine con molti contenuti.

È sufficiente aggiungere questo codice al file delle funzioni del vostro tema:

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

Questo codice aggiunge semplicemente una classe pari o dispari ai post di WordPress. A questo punto è possibile aggiungere CSS personalizzati per stilizzarli in modo diverso.

Ecco alcuni esempi di codice per aiutarvi a iniziare:

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

Il risultato finale sarà simile a questo:

Alternating background colors

Avete bisogno di istruzioni più dettagliate? Date un’occhiata al nostro tutorial su come aggiungere classi pari/dispari ai vostri post nei temi WordPress.

28. Aggiungere altri tipi di file da caricare in WordPress

Per impostazione predefinita, WordPress consente di caricare un numero limitato di tipi di file tra quelli più comunemente utilizzati. Tuttavia, è possibile estenderlo per consentire altri tipi di file.

È sufficiente aggiungere questo codice al file delle funzioni del tema:

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

Questo codice consente di caricare file SVG e PSD su WordPress.

È necessario trovare i tipi di mime per i tipi di file che si desidera consentire e quindi utilizzarli nel codice.

Per saperne di più su questo argomento, consultate il nostro tutorial su come aggiungere altri tipi di file da caricare in WordPress.

WordPress utilizza un indirizzo e-mail inesistente (wordpress@yourdomain.com) per inviare le e-mail in uscita per impostazione predefinita.

Questo indirizzo e-mail potrebbe essere segnalato come spam dai fornitori di servizi e-mail.

L’utilizzo del plugin WP Mail SMTP è il modo corretto per risolvere il problema.

WP Mail SMTP

Risolve i problemi di recapito delle e-mail e consente di scegliere un indirizzo e-mail effettivo per inviare le e-mail di WordPress.

Per saperne di più, consultate la nostra guida su come risolvere il problema dell’invio di e-mail da parte di WordPress.

D’altra parte, se si vuole cambiare rapidamente questo indirizzo in un indirizzo e-mail reale, si può aggiungere il seguente codice nel file delle funzioni o come nuovo snippet di WPCode:

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

Non dimenticate di sostituire l’indirizzo e-mail e il nome con i vostri dati.

Il problema di questo metodo è che WordPress utilizza ancora la funzione mail() per inviare le e-mail, che molto probabilmente finiscono nello spam.

Per alternative migliori, consultate il nostro tutorial su come cambiare il nome del mittente nelle e-mail di WordPress in uscita.

30. Aggiungere un riquadro informativo sull’autore nei post di WordPress

Se gestite un sito multi-autore e volete mostrare le biografie degli autori alla fine dei vostri post, potete provare questo metodo.

Iniziate aggiungendo questo codice al vostro file di funzioni o come nuovo snippet di WPCode:

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

Successivamente, è necessario aggiungere alcuni CSS personalizzati per migliorare l’aspetto.

È possibile utilizzare questo esempio di CSS come punto di partenza:

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

Ecco come apparirà il vostro riquadro autore:

Author bio box

Per il metodo del plugin e per istruzioni più dettagliate, consultate il nostro articolo su come aggiungere un riquadro informativo sull’autore nei post di WordPress.

31. Disabilitare XML-RPC in WordPress

XML-RPC è un metodo che consente alle applicazioni di terze parti di comunicare con il vostro sito WordPress in remoto. Questo potrebbe causare problemi di sicurezza ed essere sfruttato dagli hacker.

Per disattivare XML-RPC in WordPress, aggiungete il seguente codice al vostro file di funzioni o come nuovo snippet di WPCode:

add_filter('xmlrpc_enabled', '__return_false');

Per ulteriori informazioni, potete leggere il nostro articolo su come disabilitare XML-RPC in WordPress.

32. Collegare automaticamente le immagini in primo piano ai post

Se il vostro tema WordPress non collega automaticamente le immagini in primo piano agli articoli completi, potete provare questo metodo.

È sufficiente aggiungere questo codice al file functions del tema o come nuovo snippet di WPCode:

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

Si consiglia di leggere il nostro articolo su come collegare automaticamente le immagini in primo piano ai post in WordPress.

33. Disattivare l’editor di blocchi in WordPress

WordPress utilizza un editor moderno e intuitivo per scrivere contenuti e modificare il sito web. Questo editor utilizza blocchi per gli elementi di contenuto e di layout comunemente utilizzati, motivo per cui è chiamato Block Editor.

Tuttavia, in alcuni casi potrebbe essere necessario utilizzare il vecchio Classic Editor.

Il modo più semplice per disabilitare l’editor di blocchi è usare il plugin Classic Editor. Tuttavia, se non si vuole usare un plugin separato, è sufficiente aggiungere il seguente codice al file delle funzioni o a un nuovo snippet di WPCode:

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

Per maggiori dettagli, vedere il nostro tutorial su come disabilitare l’editor a blocchi e utilizzare l’editor classico.

34. Disabilitare i blocchi di widget in WordPress

Con WordPress 5.8 si è passati dai widget classici ai widget a blocchi. I nuovi widget a blocchi sono più facili da usare e offrono un maggiore controllo sul design rispetto ai widget classici.

Tuttavia, alcuni utenti potrebbero voler utilizzare i widget classici. In questo caso, è possibile utilizzare il seguente codice nel file functions del tema o come nuovo snippet di WPCode:

add_filter( 'use_widgets_block_editor', '__return_false' );

Per maggiori dettagli, vedere il nostro articolo su come disabilitare i blocchi di widget (ripristinare i widget classici).

35. Visualizzare la data dell’ultimo aggiornamento in WordPress

Quando i visitatori visualizzano un post o una pagina sul vostro blog WordPress, il vostro tema WordPress mostrerà la data di pubblicazione del post. Questo va bene per la maggior parte dei blog e dei siti web statici.

Tuttavia, WordPress è utilizzato anche da siti web in cui i vecchi articoli vengono aggiornati regolarmente. In queste pubblicazioni, la visualizzazione della data e dell’ora dell’ultima modifica del post è essenziale.

Last updated date

È possibile mostrare la data dell’ultimo aggiornamento utilizzando il seguente codice nel file functions del tema o come nuovo snippet di WPCode:

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

Per metodi alternativi e maggiori dettagli, consultate la nostra guida su come visualizzare la data dell’ultimo aggiornamento in WordPress.

36. Utilizzare nomi di file minuscoli per i caricamenti

Se si gestisce un sito web con più autori, gli autori possono caricare immagini con nomi di file in maiuscolo e minuscolo.

L’aggiunta del seguente codice assicura che tutti i nomi dei file siano in minuscolo:

add_filter( 'sanitize_file_name', 'mb_strtolower' );

Nota: il codice non cambierà i nomi dei file per i caricamenti esistenti. Per metodi alternativi, consultate il nostro tutorial su come rinominare immagini e file multimediali in WordPress.

37. Disabilitare la barra di amministrazione di WordPress sul frontend

Per impostazione predefinita, WordPress visualizza la barra di amministrazione in alto quando un utente loggato visualizza il vostro sito web.

È possibile disabilitare la barra di amministrazione per tutti gli utenti, tranne che per gli amministratori del sito. È sufficiente aggiungere il seguente codice al file delle funzioni o come nuovo snippet di WPCode:

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

Per maggiori dettagli, consultate la nostra guida su come disabilitare la barra di amministrazione di WordPress per tutti gli utenti tranne gli amministratori.

38. Modifica del testo Howdy Admin nell’area amministrativa

WordPress visualizza un saluto “Howdy Admin” nella dashboard di WordPress. ‘Admin’ è sostituito dal nome dell’utente collegato.

Howdy greeting

È possibile modificare il saluto predefinito aggiungendo il seguente codice nel file delle funzioni o come nuovo snippet di WPCode:

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

Per maggiori dettagli, consultate il nostro articolo sulla modifica del messaggio “Howdy Admin” in WordPress.

39. Disabilitare la modifica del codice nell’Editor blocchi

L’editor dei blocchi consente di passare all’editor del codice. È utile se si deve aggiungere manualmente del codice HTML.

Tuttavia, si consiglia di limitare questa funzione agli amministratori del sito.

Per ottenere questo risultato, è possibile aggiungere il seguente codice al file delle funzioni o come snippet di WPCode:

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

	return $settings;
} );

40. Disabilita l’editor dei file dei plugin e dei temi

WordPress è dotato di un editor integrato in cui è possibile modificare i file dei plugin. Potete vederlo andando alla pagina Plugin ” Plugin File Editor.

Plugin file editor in WordPress

Allo stesso modo, WordPress include anche un editor di file per i temi classici in Aspetto ” Theme File Editor.

Nota: se si utilizza un tema a blocchi, l’editor dei file del tema non è visibile.

Theme file editor

Si sconsiglia di utilizzare questi editor per apportare modifiche al tema o al plugin. Un piccolo errore nel codice può rendere il vostro sito inaccessibile a tutti gli utenti.

Per disabilitare l’editor del plugin/tema, aggiungere il seguente codice al file delle funzioni o come snippet di WPCode:

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

Per maggiori dettagli, consultate il nostro tutorial su come disabilitare l’editor di plugin/temi in WordPress.

41. Disattivare le e-mail di notifica per i nuovi utenti

Per impostazione predefinita, WordPress invia una notifica via e-mail quando un nuovo utente si unisce al vostro sito WordPress.

Se gestite un sito web WordPress di tipo membership o richiedete agli utenti di iscriversi, riceverete una notifica ogni volta che un utente si iscrive al vostro sito web.

Per disattivare queste notifiche, si può aggiungere quanto segue al proprio file di funzioni o a un nuovo snippet di WPCode:

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

Per maggiori dettagli, consultate il nostro tutorial su come disabilitare le notifiche e-mail dei nuovi utenti in WordPress.

42. Disattivare le notifiche e-mail di aggiornamento automatico

Occasionalmente, WordPress può installare automaticamente aggiornamenti di sicurezza e di manutenzione o aggiornare un plugin con una vulnerabilità critica.

Invia una notifica automatica via e-mail dopo ogni aggiornamento. Se gestite più siti web WordPress, potreste ricevere diverse e-mail di questo tipo.

È possibile aggiungere questo codice al proprio file di funzioni o come nuovo snippet di WPCode per disattivare le notifiche via e-mail:

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

Per saperne di più, consultate il nostro articolo su come disabilitare le e-mail di aggiornamento automatico in WordPress.

43. Aggiungere un link per duplicare facilmente un post

Avete mai desiderato un modo più semplice per copiare rapidamente tutto il contenuto di un post per modificarlo senza toccare il post pubblicato?

Il seguente frammento di codice aggiunge un’opzione per duplicare facilmente un post con tutti i suoi contenuti:

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

Dopo aver aggiunto il codice, accedere alla schermata Messaggi ” Tutti i messaggi e posizionare il mouse sul titolo di un post.

Noterete un nuovo link “Duplica” sotto le opzioni.

Duplicate post link

Facendo clic sul link si crea una copia del post con tutti i suoi contenuti. È quindi possibile lavorare su quella bozza.

Una volta terminato, è possibile copiare e incollare le modifiche apportate al post originale pubblicato e cancellare la copia.

Per un metodo di plugin, consultate il nostro articolo sulla duplicazione di un post o di una pagina di WordPress.

44. Rimuovere il pannello di benvenuto dalla dashboard dell’amministratore di WordPress

Il Pannello di benvenuto appare nella dashboard di amministrazione di WordPress. Può essere facilmente eliminato o nascosto facendo clic sul pulsante “Opzioni schermo”.

Welcome panel

Tuttavia, se si sta lavorando per rendere più pulita l’esperienza della dashboard per gli utenti, si può decidere di nasconderla in modo permanente.

Aggiungete il seguente codice per disabilitarlo per tutti gli utenti del vostro sito:

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

45. Aggiungere una colonna di immagini in primo piano per i post nell’amministrazione di WordPress

Per impostazione predefinita, WordPress mostra le immagini in primo piano solo quando si visualizza il sito o quando si modifica un post o una pagina.

Il codice seguente aggiunge una nuova colonna alla schermata Messaggi ” Tutti i messaggi per le immagini in primo piano:

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

Ecco come apparirebbe dopo l’aggiunta del codice.

Featured image column

46. Bloccare l’area amministrativa di WordPress per tutti tranne che per gli amministratori

Alcuni siti web WordPress possono richiedere agli utenti di registrare un account. Ad esempio, un sito associativo WordPress o un negozio di e-commerce.

La maggior parte di questi plugin impedisce a questi utenti di accedere all’area di amministrazione. Tuttavia, se non si utilizza un plugin di questo tipo, è possibile aggiungere il seguente codice per bloccare l’accesso all’area di amministrazione a tutti gli utenti, eccetto gli amministratori:

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

Gli utenti con altri ruoli possono ancora accedere ai loro account, ma dopo l’accesso saranno reindirizzati alla homepage.

Speriamo che questo articolo vi abbia aiutato a imparare alcuni nuovi utili trucchi per il file functions.php di WordPress. Potreste anche voler consultare la nostra guida definitiva per aumentare la velocità e le prestazioni di WordPress e la nostra scelta dei migliori editor di codice per Mac e Windows.

Divulgazione: I nostri contenuti sono sostenuti dai lettori. Ciò significa che se cliccate su alcuni dei nostri link, potremmo guadagnare una commissione. Vedi come WPBeginner è finanziato , perché è importante e come puoi sostenerci. Ecco il nostro processo editoriale .

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.

Il kit di strumenti WordPress definitivo

Ottenete l'accesso gratuito al nostro kit di strumenti - una raccolta di prodotti e risorse relative a WordPress che ogni professionista dovrebbe avere!

Reader Interactions

115 commentiLascia una risposta

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Moinuddin Waheed says

    So much to accomplish with the help of functions.php
    I think this is the core of the WordPress and if we do too much to it, we may lose many core functionalities.
    having said this, using wpcode is a wise idea to insert anything for functionality without compromising the WordPress core.
    I have a question though, if wpcode doesn’t insert it’s code in the main functions.php then how it works?
    and if inserts it into the same, how updating wordpress doesn’t erase it?

    • WPBeginner Support says

      The code is stored in your database and the plugin hooks in the code in different ways depending on how you set it in the plugin.

      Admin

  3. Jiří Vaněk says

    I’ve noticed that on some websites, the top part of the browser changes color, specifically on mobile Chrome. Do you have any tested snippet that accomplishes this?

  4. Ralph says

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

  5. Ben says

    This is a pretty dangerous idea. Query strings exist for the purposes of cache busting, aka, making sure the end user has the latest version your js and css files.

    Removing those is going to cause all sorts of issues for returning users down the line as their browser will assume nothing has changed and use their cached version rather than downloading the new one.

    If for some reason you need to target a specific file and remove the query string (which I’ve had to do) you can use this code snippet:

    // remove version from scripts and styles
    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);

  6. Gean Paulo Francois says

    Very useful article. I just saved this page offline so I can insert some of these with my websites. Anyway, should I add the codes to functions,php and not anywhere else?

  7. Hussain Badusha says

    Nice compendium of some useful tricks and functions for wordpress. I added quite a new things to my wordpress knowledge after going through here.

    I look forward even more from you if you wish to

  8. vivek says

    Nice article,

    Just have a doubt if I am supposed to add these codes in snippets plugin or somwhere in file? if its snippet plugin, it’s not working. Kindly put some light.
    Thanks

    • WPBeginner Support says

      You would add these codes as a custom plugin or more commonly in your functions.php file

      Admin

  9. Miley Cyrus says

    Great Article it its really informative and innovative keep us posted with new updates. its was really valuable. thanks a lot.

  10. John Dee says

    Almost NONE of these code snippets belong in your theme’s functions.php file. Only a few of them are related to the actual theme. Themes are for APPEARANCE. Create a PLUGIN for functionality. In any case, it would go in child theme’s functions.php file.

    • WPBeginner Support says

      Thank you for pointing this out, while we do mention site-specific plugins at the beginning of this article, we will be sure to look into making that statement clearer.

      Admin

  11. Richard Yzenbrandt says

    Thank you so much for making this resource available. WP for Beginners is the best goto site on the web!

  12. alok patel says

    hey i am unable to add my post on specific page. when i write any blog post it shows in home page but i wanna also see in specific pages where i want to add. how i can out of from this problem. plz help me as soon as possible. if any video link thn plz share with reply. i m getting too much confused.

  13. DONALD says

    I am creating a form to collect data from my users.
    I have created the database from myphpAdmin
    I have created the form.
    I now created a new php.file in my child theme
    I referenced it in the form too using action = “name.php”
    Now i expect it to gather, peoples registration details.
    But clicking on submit on the form, says, page cannot be found.
    I dont know what i am not getting right.
    Please help me

  14. Shafiq Khan says

    Very useful post thanks.

    A question – Because you’re updating the functions.php of a theme.
    If you update the theme then you lose your tweaks.

    Is there a way around this? Is it just a cause of using a Child theme?

    Thanks

    • Lisa says

      Hi Shafiq,

      Any changes you make to a parent theme will be overwritten when you update it. It is good practice to work with a child theme when making changes to a theme you didn’t build that is going to be updated so that you can keep the changes you made.

    • Jan says

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

    • Jane Lawson says

      This is late, but you can also create a plugin for your site (e.g. “[Site name]’s custom plugin”). It does require a bit of expertise, however, since some functions clash with other plugins/the site theme.

  15. Al1 says

    Another one :

    // Remove query string from static files :
    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 );

  16. Andrew says

    I tried #16 to add the post featured thumbnail to m RSS feed but when I tested it in mailchimp (paused my campaign and previewed) it appears that it has changed from “summary” to “full text”? Is this expected behaviour? I want to leave the emails (rss driven) as summary, and simply add the thumbnail featured image at the top.

    Thanks for any help, I can’t find this on google anywhere.

  17. Em Cloney says

    re: removing rss feed for static pages — is it correct that the txt one would replace in that code is ‘url’ (with a page link, including ) and ‘homepage’ (if you’d like it to say something else, like ‘some other site’)?

  18. Mohan Manohar says

    This is huge list and great help. would like to know the first part of twitter counter code is to be pasted in function.php or directly into texty widget of theme.

  19. grafx says

    There is an easier way to remove WordPress Version Number…

    remove_action(‘wp_head’, ‘wp_generator’);

  20. Mick O says

    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.

  21. Luke Gibson says

    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?

  22. Zeeshan Arshad says

    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!

  23. Mark says

    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.

  24. mommyblogger says

    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!

  25. SteveEBoy says

    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.

  26. LambrosPower says

    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.

  27. Xiaozhuli says

    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!

  28. Mohammad Yeasin says

    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.

  29. AA says

    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 says

      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.

      Admin

Lascia una risposta

Grazie per aver scelto di lasciare un commento. Tenga presente che tutti i commenti sono moderati in base alle nostre politica dei commenti e il suo indirizzo e-mail NON sarà pubblicato. Si prega di NON utilizzare parole chiave nel campo del nome. Avremo una conversazione personale e significativa.