Snippets utili per WordPress

 

Snippets utili da inserire nel file function.php per modificare o aggiungere funzionalità a WordPress

Cosa sono gli Snippets di WordPress?

Gli Snippets sono righe di codice in linguaggio PHP che puoi utilizzare per estendere le funzionalità di un sito WordPress.

Un snippet è come se fosse un mini plugin che estende le funzioni di WordPress.

Per aggiungere snippets basta modificare con l’editor  il file functions.php del tuo tema attivo .

Per qualunque modifica ti consiglio la creazione di un tema Child poichè ogni stringa di codice aggiunta al file functions viene automaticamente sovrascritta ad ogni aggiornamento dei file di sistema di WordPress. Per maggiori infoleggi l’articolo Come provare in locale un sito WordPress

Come modificare il file functions.php in WordPress

Ecco come modificare il file functions.php in WordPress tramite l’editor di temi della dashboard:

  1. Accedi al tuo sito tramite wp-admin come amministratore.
  2. Accedi al codice sorgente del tuo sito in Aspetto > Editor temi.
  3. Verifica il tema o selezionane uno nuovo utilizzando il menu a discesa Seleziona tema per modificarlo e fai clic su Seleziona.
  4. Nel menu File del tema, seleziona il file functions.php cliccando sul titolo corrispondente.

Salva le modifiche con l’apposito bottone.

 

Snippets di default di WordPress

In questa tabella hai un elenco di alcuni snippet di default che puoi trovare in una installazione WordPress.

<?php the_content(); ?> Contenuto dei posts
<?php if(have_posts()) : ?> Controlla se ci sono post
<?phpwhile(have_posts()) : the_post(); ?> Mostra i post se disponibili
<?php endwhile; ?>  Chiude la funzione di loop ‘while’ che legge i post.
<?php get_header(); ?> Contenuto file Header.php
<?php get_footer(); ?> Contenuto file Footer.php
<?php bloginfo(‘description’); ?> Descrizione sito
<?php posts_nav_link(); ?> Prossimo e precedente link post
<?php get_calendar(); ?> Inserisci calendario di WordPress
<?php wp_loginout(); ?> Inserisci Login

 

Esempi pratici di snippet personalizzati

Ecco alcuni esempi di snippet che potrebbero tornarti utili nel tuo progetto WordPress.

# Registrare un widget

Codice per aggiungere un widget al tuo tema, in questo caso al footer.

[COLORBOX]
/* widget footer */
register_sidebar( array(
'name' => 'Footer Sidebar 1',
'id' => 'footer-sidebar-1',
'description' => 'Appare nel footer',
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );

[DIV]

 

# Creare uno shortcode tramite funzione

Un shortcode viene avviato inserendolo nel testo dell’articolo o pagina.

Nell’esempio proposto, lo shortcode [ICONS] richiama una classe CSS per visualizzare un’icona nel testo.
Puoi personalizzare ICONS con un nome a piacere. Evidenziata anche la riga con l’istruzione richiamabile.

[COLORBOX]
// funzione che si avvia quando è chiamato uno shortcode
function GIAMPIMEN_shortcodeICONS() {
return '<SPAN style="color:green; vertical-align:upper;"><i class="fa fa-external-link"></i></SPAN>';
}
// register shortcode
add_shortcode('ICONS', 'giampimen_shortcodeICONS');
// FINE

[DIV]

# Consentire upload file su WordPress

Di base non è consentito l’upload di alcuni tipi di file in WordPress, ma con uno snippets è possibile saltare questa limitazione.

[COLORBOX]

add_filter('upload_mimes', 'custom_upload_mimes');
function custom_upload_mimes ( $existing_mimes=array() ) {
/ qui possiamo aggiungere le estensioni che ci servono nell'array dei mimes
$existing_mimes['zip'] = 'application/zip'; //Upload archivi ZIP
$existing_mimes['gz'] = 'application/x-gzip'; //Upload archivi compressi
$existing_mimes['epub'] = 'application/epub+zip';
$existing_mimes['mobi'] = 'application/x-mobipocket-ebook';
$existing_mimes['m4r'] = 'audio/aac';
$existing_mimes['aif'] = 'audio/x-aiff'; $existing_mimes['aiff'] = 'audio/aiff';
$existing_mimes['psd'] = 'image/photoshop'; //Upload file photoshop
$existing_mimes['exe'] = 'application/octet-stream';
$existing_mimes['apk'] = 'application/vnd.android.package-archive';
$existing_mimes['msi'] = 'application/x-ole-storage'; $existing_mimes['csv'] = 'text/csv'; // Upload file testuali
$existing_mimes['xml'] = 'text/xml'; //Upload file xml,svg,etc.
$existing_mimes['svg'] = 'image/svg+xml'; //Aggiunta estensioni svg
return $existing_mimes;
}

[DIV]

# Disattivare la barra amministratore

Disabilitare la barra di amministrazione a tutti gli utenti eccetto l’amministratore con un snippet

[COLORBOX]
add_action(
'after_setup_theme', 'remove_admin_bar');

function remove_admin_bar() {
if (!current_user_can('administrator') && !is_admin()) {
show_admin_bar(false);
}
}
[DIV]

Per disabilitare la barra a tutti gli utenti compreso l’amministratore.

[COLORBOX]
/* Disable WordPress Admin Bar for all users */

add_filter( 'show_admin_bar', '__return_false' );
[DIV]

 

# Ripristinare il classic widget

Dalla versione WordPress 5.8 è stato rimosso il classico editor di widget a favore dell’editor blocchi  Gutenberg.
Se vuoi ripristinare la gestione classica dei Widget ecco alcune linee di codice.

[COLORBOX]
function example_theme_support() {
remove_theme_support( ‘widgets-block-editor’ );
}
add_action( ‘after_setup_theme’, ‘example_theme_support’ );
[DIV]

# Mostrare post popolari senza plugin

Codice per mostrare i post più popolari senza utilizzare un plugin

Codice da inserire nel file functions.php:

[COLORBOX]
function count_post_visits() {
if( is_single() ) {
global $post;
$views = get_post_meta( $post->ID, ‘my_post_viewed’, true );
if( $views == ” ) {
update_post_meta( $post->ID, ‘my_post_viewed’, ‘1’ );
} else {
$views_no = intval( $views );
update_post_meta( $post->ID, ‘my_post_viewed’, ++$views_no );
}
}
}
add_action( ‘wp_head’, ‘count_post_visits’ );
[DIV]

Ora devi incollare il codice qui sotto nel file del tuo tema dove vuoi visualizzare i post popolari:

[COLORBOX]
$popular_posts_args = array(
‘posts_per_page’ => 3,
‘meta_key’ => ‘my_post_viewed’,
‘orderby’ => ‘meta_value_num’,
‘order’=> ‘DESC’
);
$popular_posts_loop = new WP_Query( $popular_posts_args );
while( $popular_posts_loop->have_posts() ):
$popular_posts_loop->the_post();
// Loop continues
endwhile;
wp_reset_query();
[DIV]

Conclusione

Con un semplice editor puoi modificare il file functions.php aggiungendo funzionalità al tuo tema WordPress senza utilizzare plugin.

 

 

Risorse in rete

How to Disable Widget Blocks in WordPress (Restore Classic Widgets) (wpbeginner.com)
16 Useful Code Snippets for WordPress (wpkube.com)