Capita spesso che occorra estendere alcune funzionalità del proprio sito WordPress ma manchino le conoscenze e gli strumenti per porre in essere tali operazioni. Grazie agli snippet, porzioni di codice PHP, il problema è facilmente risolvibile. In questo articolo una lista di quelli più utilizzati.
Prima di elencare i code snippet più popolari vediamo come vanno implementati. I codici vanno inseriti all’interno del file function.php o nel file wp.config.php oppure nel file .htaccess in funzione dell’operazione da svolgere.
Impostare la lunghezza minima degli articoli
[da inserire in: functions.php]
function minWord($content){
global $post;
$num = 300; // numero minimo di parole
$content = $post->post_content;
if (str_word_count($content) < $num)
wp_die( __(‘l’articolo non raggiunge il numero minimo di parole.’) );
}
add_action(‘publish_post’, ‘minWord’);
Redirect degli utenti ad un URL specifico subito dopo aver effettuato la registrazione
[da inserire in: functions.php]
function __my_registration_redirect(){
return home_url( ‘/la-mia-pagina’ );
}
add_filter( ‘registration_redirect’, ‘__my_registration_redirect’ );
Rimuovere dei link nei commenti
[da inserire in: functions.php]
Quando un utente lascia un link nei commenti, questo di default diventa cliccabile. Per evitare che un link inserito in un commento sia cliccabile occorre renderlo inattivo utilizzando il seguente codice.
remove_filter(‘comment_text’, ‘make_clickable’, 9);
Rimuovere il campo URL dalla sezione commenti
[da inserire in: functions.php]
function rimuovi_campi_commenti($campi) {
unset($campi [‘url’]);
return $ campi;
}
add_filter(‘comment_form_default_fields’, ‘rimuovi_campi_commenti’);
Escludere alcune pagine dalla ricerca
[da inserire in: functions.php]
function filter_search($query) {
if ($query->is_search) {
$query->set(‘post_type’, ‘page’);
}
return $query;
}
add_filter(‘pre_get_posts’, ‘filter_search’);
Disabilitare gli aggiornamenti automatici di WordPress
[da inserire in: wp-config.php]
define( ‘AUTOMATIC_UPDATER_DISABLED’, true );
Aumentare il limite della memoria
[da inserire in: wp-config.php]
define(‘WP_MEMORY_LIMIT’, ‘256M’);
Impostare la cache del browser
[da inserire in: .htccess]
<ifmodule mod_headers.c>
<filesmatch “\.(flv|gif|jpg|jpeg|png|ico|swf)$”>
Header set Cache-Control “max-age=2592000”
</filesmatch>
<filesmatch “\.(css|pdf)$”>
Header set Cache-Control “max-age=2592000”
</filesmatch>
<filesmatch “\.(js)$”>
Header set Cache-Control “max-age=2592000, private”
</filesmatch>
</ifmodule>