Se per qualche motivo doveste aver bisogno di creare automaticamente il riassunto dell’articolo che state scrivendo, salvandolo nel database, non soltanto facendolo generare al volo da WordPress, basta usare il filtro wp_insert_post_data. Nell’esempio che segue, ogni volta che salvate il vostro articolo viene creato o aggiornato il riassunto in base al contenuto, lungo 50 parole, e in fondo al riassunto vengono aggiunti tre puntini.

function wporg_excerpt_save( $data, $postarr ) {
	$data['post_excerpt'] = wp_trim_words( $postarr['post_content'], 50, '...' );

	return $data;
}

add_filter( 'wp_insert_post_data', 'wporg_excerpt_save', '99', 2 );

Attenzione pero’ che se modificate il riassunto nell’apposito campo sotto l’editor principale, appena salverete di nuovo l’articolo quelle modifiche verranno sovrascritte.

Se quindi volete successivamente modificare il contenuto del riassunto, basta aggiungere una condizione:

function wporg_excerpt_save( $data, $postarr ) {

	if ( '' === $data['post_excerpt'] ) {
		$data['post_excerpt'] = wp_trim_words( $postarr['post_content'], 50, '...' );
	}

	return $data;
}

add_filter( 'wp_insert_post_data', 'wporg_excerpt_save', '99', 2 );

In questo modo il riassunto viene creato solo se non è stato creato prima.