Limiter le nombre de mots dans le titre et le contenu de vos articles

Les deux fonctions ci-dessous vont vous permettre de définir le nombre de mot que doit contenir le titre et le contenu de l’article, cela peu être utile pour rédiger des articles SEO.

Ajouter les deux codes suivant dans votre fichier function.php de votre thème WordPress. Pour changé le nombre de mot dans :

Le titre de l’article : changer la valeur  de la ligne  $title_number_words = 10 ;

Le contenu de l’article qui lui va définir un minimum de mots a tapé : changer la valeur de la ligne $content_number_words = 100;

Code pour le titre :

function titleCount($title){

global $post;

$title_number_words = 10 ; // indiquer le nombre de mots ici

$title = $post->post_title;

if (str_word_count($title) > $title_number_words )

wp_die( __('Erreur: Le titre contient plus de 10 mots') );

}

add_action('publish_post', 'titleCount');

Code pour le contenu :

function minword($content){

global $post;

$content_number_words = 100; // indiquer le nombre de mots ici

$content = $post->post_content;

if (str_word_count($content) <  $content_number_words) 	 

wp_die( __('Erreur: votre article doit contenir au minimum 100 mots.') ); 

} 

add_action('publish_post', 'minword');

Limiter le nombre de caractère dans le titre d’un l’article

Cette fonction va vous permettre de limité le nombre de caractère dans les titres de vos articles, par exemple : pour mieux présenter une page d’accueil qui contient plusieurs blocs d’articles différent.

Ajouter le code ci-dessous dans votre fichier function.php de votre thème :


 

<?php// Limiter le nombre de caractère dans le titre d'un l'article

function shortened_title() {

$original_title = get_the_title();

$title = html_entity_decode($original_title, ENT_QUOTES, "UTF-8");

// indiquer le nombre de caratère

$limit = "55";

// fin du titre couper

$ending="...";

if(strlen($title) >= ($limit+3)) {

$title = substr($title, 0, $limit) . $ending; }

echo $title;

}

?>

Puis remplacer the_title(); par :

<?php shortened_title(); ?>

Deuxième méthode : limité le nombre de mots dans le titre

Dans cette deuxième méthode  je vais me servir de la fonction get_the_title de WordPress et de la fonction count en  php pour comptabiliser le nombre de mots.

Ajouter le code suivant dans le fichier function.php de votre thème WordPress :

function new_title($after = '', $length) {

   $shtitle = explode(' ', get_the_title(), $length);

   if (count($shtitle)>=$length) {

       array_pop($shtitle);

       $shtitle = implode(" ",$shtitle). $after;

   } else {

       $shtitle = implode(" ",$shtitle);

   }

       return $shtitle;

}

Puis remplacer the_title par cette ligne ci-dessous en indiquant le nombre de mots que vous voulez dans les titres de vos articles les (…) compte pour 1 mot.

<?php echo new_title('...', 5); ?>