Il file delle funzioni di WordPress, noto come functions.php, è un potente strumento fornito con ogni tema di WordPress. Si comporta come un plugin, consentendo di aggiungere codice personalizzato al sito con facilità.
Utilizziamo il codice personalizzato sui nostri siti quando è possibile utilizzare un breve pezzo di codice. La versatilità e la flessibilità di WordPress ci permettono di combinare le funzionalità di diversi plugin in modo facile da gestire.
In questo articolo condivideremo alcuni di questi trucchi pratici e utili per utilizzare il file delle funzioni di WordPress, aiutandovi a ottenere di più dal vostro sito WordPress.
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, salvare il codice personalizzato in un file di funzioni non è una buona pratica.
Se si aggiorna il tema, il file functions.php viene sovrascritto e si perdono gli snippet di codice personalizzati. Non è possibile disattivare uno snippet senza eliminarlo.
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.
Perché consigliamo WPCode?
- Salva facilmente gli snippet di codice personalizzati senza modificare i file principali.
- Inserisce automaticamente gli snippet di codice dove servono
- Ogni frammento di codice viene salvato separatamente e può essere spento individualmente.
- Un meccanismo di sicurezza integrato disattiva uno snippet di codice se causa un errore sul sito.
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.
Detto questo, ecco un elenco di elementi che tratteremo in questo articolo. Potete passare a quello che vi interessa o semplicemente seguirlo:
- How to Add These Code Snippets to Your Website
- Remove WordPress Version Number
- Add a Custom Dashboard Logo
- Change the Footer in WordPress Admin Panel
- Add Custom Dashboard Widgets in WordPress
- Change the Default Gravatar in WordPress
- Dynamic Copyright Date in WordPress Footer
- Randomly Change the Background Color in WordPress
- Update WordPress URLs
- Add Additional Image Sizes in WordPress
- Add New Navigation Menus to Your Theme
- Add Author Profile Fields
- Adding Widget-Ready Areas or Sidebars in WordPress Themes
- Manipulate the RSS Feed Footer
- Add Featured Images to RSS Feeds
- Hide Login Errors in WordPress
- Disable Login by Email in WordPress
- Disable Search Feature in WordPress
- Delay Posts in RSS Feed
- Change Read More Text for Excerpts in WordPress
- Disable RSS Feeds in WordPress
- Change Excerpt Length in WordPress
- Add an Admin User in WordPress
- Disable Language Switcher on Login Page
- Show the Total Number of Registered Users in WordPress
- Exclude Specific Categories From RSS Feed
- Disable URL Links in WordPress Comments
- Add Odd and Even CSS Classes to WordPress Posts
- Add Additional File Types to Be Uploaded in WordPress
- Change Sender Name in WordPress Emails
- Add an Author Info Box in WordPress Posts
- Disable XML-RPC in WordPress
- Automatically Link Featured Images to Posts
- Disable Block Editor in WordPress
- Disable Block Widgets in WordPress
- Display the Last Updated Date in WordPress
- Use Lowercase Filenames for Uploads
- Disable WordPress Admin Bar on Frontend
- Change Howdy Admin Text in Admin Area
- Disable Code Editing in Block Editor
- Disable Plugin / Theme File Editor
- Disable New User Notification Emails
- Disable Automatic Update Email Notifications
- Add a Link to Easily Duplicate a Post
- Remove Welcome Panel From the WordPress Admin Dashboard
- Add a Featured Image Column for Posts in WordPress Admin
- Block WordPress Admin Area for Everyone Except Administrators
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.
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.
Successivamente, è necessario scegliere il “Tipo di codice”. Se si sta aggiungendo un codice che funziona nel file functions.php, è necessario selezionare “Snippet PHP”.
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’.
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/.
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.
2. Aggiungere un logo personalizzato al cruscotto
Volete etichettare l’area di amministrazione di WordPress? Il primo passo è aggiungere un logo personalizzato alla Bacheca.
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 footer 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.
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:
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.
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.
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 di 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.
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.
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.
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.
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.
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. Disabilitare la caratteristica 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 maggiori informazioni sul metodo del plugin, 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]
alla pagina o alla pubblicazione 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:
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.
29. Cambiare il nome del mittente nelle e-mail di 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.
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:
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 dei blocchi per gli elementi di contenuto e di layout comunemente usati, per questo si chiama 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.
È 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.
È 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.
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.
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.
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”.
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.
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 leggere la nostra guida sulla visualizzazione del codice in WordPress per condividere facilmente i vostri snippet e la nostra scelta dei migliori editor del codice per Mac e Windows.
Se questo articolo vi è piaciuto, iscrivetevi al nostro canale YouTube per le esercitazioni video su WordPress. Potete trovarci anche su Twitter e Facebook.
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!
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
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?
WPBeginner Support says
We do have a guide for this, you can see our guide below:
https://www.wpbeginner.com/wp-tutorials/how-to-change-the-color-of-address-bar-in-mobile-browser-to-match-your-wordpress-site/
Admin
Jiří Vaněk says
Thank you. I tried it on my own website and it works perfectly. Although only in Chrome, but it works.
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
WPBeginner Support says
Glad to hear you found our tricks helpful
Admin
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);
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?
WPBeginner Support says
Correct, these codes are for your functions.php file.
Admin
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
WPBeginner Support says
Glad you found our guide helpful
Admin
Satinder Satsangi says
Oh WoW,
This is lifesaver most of the times, would like to know more about useful functions.
WPBeginner Support says
Glad you found our guide helpful
Admin
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
Beulah Wellington says
Thank you for this tutorial. I learned a lot. I will be reading it again.
WPBeginner Support says
You’re welcome, glad our guide can continue to help you
Admin
Ali Jahani says
Hi
Thanks a lot of….
wpbeginner Is god team
WPBeginner Support says
You’re welcome, glad you like our content
Admin
VISHAL CHOWDHRY says
Superb Article.
Waiting for more of this
WPBeginner Support says
Thank you, glad you liked our content
Admin
Miley Cyrus says
Great Article it its really informative and innovative keep us posted with new updates. its was really valuable. thanks a lot.
WPBeginner Support says
Glad our article could be helpful
Admin
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
Suman Samanta says
Nice information for a new bloggers. It is really helpful.
Richard Yzenbrandt says
Thank you so much for making this resource available. WP for Beginners is the best goto site on the web!
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.
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
marvin N N says
is there a plugin one can use to customise a theme’s default menu setting to suit your taste???
Sazzad Hossain says
Thanks for this codes.
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.
Neil says
Excellent post – thank you for the tips & tricks. They are all very helpful
Karakaplan says
How to use these above with child theme functions file?
Minhaz says
Nothing difference with parent or child theme’s functions.php
Joe says
I’ve not done much with the functions file so it was good to see this article.
Thanks.
Jorge Rosa says
Great snippets. Very handy and useful. Thank You!
sriganesh says
this is best site for wordpress
WPBeginner Support says
Thanks for the kind words
Admin
Bilal says
will you tell me a most easy book for wordpress.
i am very new in this field .
thanks in advance
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 );
siva says
Great post, Could provide all wordpress function with example
shojib says
This is the best blog for WordPress users.
Parveen says
Great post!!!
I am a newbie and looking for such tricks.
Thanks.
Deepak Kanyan says
Really a nice blog. i had learn lot of things from here thanks admin.
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.
WPBeginner Support says
You can try replacing get_the_content() with get_the_excerpt().
Admin
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’)?
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.
grafx says
There is an easier way to remove WordPress Version Number…
remove_action(‘wp_head’, ‘wp_generator’);
DANISH says
such a great and useful tricks..
Marco says
thank you so much!
Webtechideas says
Such a nice list of useful tricks. It will help both plugin and theme developers.
ahmed says
In #14, isn’t that a instead of ?
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.
Editorial Staff says
It includes opening php because it is closing PHP tag to allow you to paste plain HTML Google analytics code.
Admin
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?
Editorial Staff says
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.
Admin
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!
DesignSkew says
In “Add Author Profile Fields”, the function you mentioned to echo is not working.
Editorial Staff says
The curauth would only work if it is on author.php file.
Admin
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.
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!
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.
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.
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!
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.
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