Se sei un utente WordPress, sai già che il tema e il core di WordPress automatizzano molte delle funzionalità che determinano la visualizzazione dei tuoi contenuti. Un esempio comune è come le pagine mostrano gli excerpt (o estratti) dei tuoi articoli. Ma sapevi che puoi personalizzare la lunghezza dell’ excerpt WordPress?

Questo post spiegherà come puoi fare proprio questo!

Che cos’è l’excerpt in WordPress

Un excerpt è una parte di un post che si collega all’articolo completo. È utilizzato per creare interesse nei lettori e fa loro desiderare di leggere di più di un post.

Aiuta a evidenziare i punti chiave dei tuoi contenuti in quanto a volte un titolo non è sufficiente per attirare l’attenzione del pubblico.

Per impostazione predefinita, WordPress limita gli excerpt alle prime 55 parole del tuo post.

Quando si utilizza l’editor di WordPress classico, è possibile aggiungere automaticamente estratti ai contenuti premendo il pulsante LEGGI ALTRO Aggiungerà il tag <! – more -> all’HTML, che può essere visto nell’editor HTML.

Puoi anche inserire un messaggio personalizzato come <! – altro Continua a leggere! ->.

Excerpt in WordPress

In alternativa, puoi modificarne la lunghezza in base alle tue esigenze. Fornire più testo può attirare l’attenzione dei lettori sull’articolo.

Esistono diversi modi per eseguire questa attività. Di seguito troverai le istruzioni che ti guideranno attraverso il processo.

Come modificare la lunghezza dell’excerpt WordPress?

Puoi modificare la lunghezza dell’excerpt in WordPress manualmente o utilizzando un plugin.

Modifica manuale della lunghezza dell’excerpt di WordPress

Il metodo manuale prevede una modifica del codice ma non spaventarti, non è necessario avere una conoscenza approfondita di alcun linguaggio di programmazione per farlo.

Ecco i passaggi per modificare manualmente la lunghezza di un excerpt:

Passa con il mouse sulla scheda Aspetto e seleziona Editor del tema apri il file functions.php e inserisci il codice:

function my_excerpt_length($length){
return 80;
}
add_filter(‘excerpt_length’, ‘my_excerpt_length’);

Cambia il limite di parole da 80 a qualsiasi numero vuoi e premi il pulsante Aggiorna file. Per alcuni temi, come Twenty Sixteen WordPress, dovrai modificare anche il file content.php.

Segui la guida qui sotto:

Mentre sei ancora nell’Editor dei temi, scorri verso il basso fino a trovare template-parts. Sotto quell’intestazione, fai clic sul file content.php.
Cerca le linee:

<div class = "entry-content">
<? Php

Aggiungi il seguente snippet di codice appena sotto :

if ( is_home() || is_category()||is_archive()){ 
the_excerpt(‘‘); 
}else{

Trova le dichiarazioni:

?> 
</div><!-- .entry content -->

Quindi inserisci la seguente riga sopra :

} // end of if statements

fai clic su Aggiorna file e il gioco è fatto! Il risultato finale sarà simile a questo:

Esempio di lunghezza dell'excerpt di WordPress

Modifica della lunghezza dell’ excerpt WordPress con un plugin

Uno dei modi più semplici per personalizzare la lunghezza dell’ excerpt in WordPress è farlo con un plugin. L’opzione consigliata per questa attività è Advanced WordPress Excerpt, un plugin gratuito e facile da usare.

Utilizzando il plugin, è possibile:

  • Tagliare l’excerpt in base al numero di parole o di caratteri.
  • Aggiungere il link “Ulteriori informazioni” e personalizzarlo.
  • Completare l’ultima parola dell’excerpt in modo che non finisca a metà.
  • Conservare il markup HTML e scegliere quali tag verranno inclusi.

Per installarlo, passa con il mouse su Plugin della tua Dashboard di WordPress e premi Aggiungi Nuovo. Digita “advanced excerpt” nella barra delle parole chiave.

Fai clic sul pulsante Installa ora, quindi Attivalo.

ricerca plugin advanced excerpts WordPress

Per utilizzare il plugin, seguire la guida :

Vai alla scheda Plugin e premi Settings sotto il plugin.

Settings plugin advanced Excerpt

Personalizza le opzioni disponibili a tuo piacimento.

Configura plugin

Fai clic sul pulsante Salva modifiche.

Aggiungere più lunghezze di estratti personalizzati in WordPress (per sviluppatori)

Come hai visto, per impostazione predefinita, gli estratti di WordPress sono impostati su 55 parole e esiste un filtro excerpt_length che consente di modificare questo valore predefinito in base alla lunghezza desiderata.

E se volessi una lunghezza di excerpt diversa in diverse sezioni del sito? Se, ad esempio, stai sviluppando un sito web con più tipologie di post, potresti voler mostrare diverse lunghezze di excerpt in base al tipo di post. Un post sul blog può contenere un estratto più lungo rispetto, ad esempio, a un elemento del portfolio.

Funzione di estratto personalizzato

Di seguito troverai una funzione personalizzata per aiutarti a visualizzare estratti di diverse lunghezze in WordPress. Per usare la funzione è sufficiente aggiungerla al tuo file functions.php e poi puoi sostituire le funzioni the_excerpt o the_content in tutto il tema in modo da poter estrarre diverse lunghezze.

Prima di operare ti consigliamo di fare il backup del tuo sito.

function wpex_get_excerpt( $args = array() ) {

	// Defaults
	$defaults = array(
		'post'            => '',
		'length'          => 40,
		'readmore'        => false,
		'readmore_text'   => esc_html__( 'read more', 'text-domain' ),
		'readmore_after'  => '',
		'custom_excerpts' => true,
		'disable_more'    => false,
	);

	// Apply filters
	$defaults = apply_filters( 'wpex_get_excerpt_defaults', $defaults );

	// Parse args
	$args = wp_parse_args( $args, $defaults );

	// Apply filters to args
	$args = apply_filters( 'wpex_get_excerpt_args', $defaults );

	// Extract
	extract( $args );

	// Get global post data
	if ( ! $post ) {
		global $post;
	}

	// Get post ID
	$post_id = $post->ID;

	// Check for custom excerpt
	if ( $custom_excerpts && has_excerpt( $post_id ) ) {
		$output = $post->post_excerpt;
	}

	// No custom excerpt...so lets generate one
	else {

		// Readmore link
		$readmore_link = '<a href="' . get_permalink( $post_id ) . '" class="readmore">' . $readmore_text . $readmore_after . '</a>';

		// Check for more tag and return content if it exists
		if ( ! $disable_more && strpos( $post->post_content, '
' ) ) { $output = apply_filters( 'the_content', get_the_content( $readmore_text . $readmore_after ) ); } // No more tag defined so generate excerpt using wp_trim_words else { // Generate excerpt $output = wp_trim_words( strip_shortcodes( $post->post_content ), $length ); // Add readmore to excerpt if enabled if ( $readmore ) { $output .= apply_filters( 'wpex_readmore_link', $readmore_link ); } } } // Apply filters and echo return apply_filters( 'wpex_get_excerpt', $output ); }

Come usare la funzione

Ora invece di usare “the_excerpt ()” nei tuoi loop puoi usare “wpex_excerpt ($ args)”, dove $ args contiene un array delle tue impostazioni preferite per lo specifico excertp.

Esempio:

<?php echo wpex_get_excerpt ( $defaults = array(
	'length'          => 40,
	'readmore'        => true,
	'readmore_text'   => esc_html__( 'read more', 'wpex-boutique' ),
	'custom_excerpts' => true,
) ); ?>

Filtri funzione

Potresti notare che lo snippet include varie funzioni apply_filters (). Perché? Il motivo è che se stai lavorando su un tema o plugin premium o gratuito per la distribuzione, vorrai dare agli utenti finali la possibilità di modificare i loro excerpt tramite il tema figlio, se necessario. Se ad esempio hai definito un excerpt di una certa lunghezza per una sezione del sito, l’utente finale può sempre utilizzare il filtro “wpex_get_excerpt_args” per modificare l’estratto in una lunghezza diversa o personalizzare il testo o readmore.

Buon lavoro!