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');

Personnalisé la longueur de vos extraits.

Nous allons voir comment personnalisé la longueur de l’extrait de vos articles avec la fonction the_content_limit (‘’) ; .Se qui va vous permettre de choisir le nombre de mot à afficher par exemple sur la page d’accueil de votre site.

1-Ouvrez le fichier function.php de votre thème wordpress avec votre éditeur de code Copier/Coller le code ci-dessous qui servira a appliquer la fonction the_content_limit(‘’) ;

// Personnalisation longueur Article

function the_content_limit($max_char, $more_link_text = '()', $stripteaser = 0, $more_file = '') {

$content = get_the_content($more_link_text, $stripteaser, $more_file);

$content = apply_filters('the_content', $content);

$content = str_replace(']]>', ']]>', $content);

$content = strip_tags($content);

if (strlen($_GET['p']) > 0) {

echo $content;

echo ""."";

}

else if ((strlen($content)>$max_char) && ($espacio = strpos($content, " ", $max_char ))) {

$content = substr($content, 0, $espacio);

$content = $content;

echo $content;

echo ""; // ici vous pouvez placer ... pour la fin du paragraphe

echo " pour le placer sous le paragraphe

the_permalink();

echo "" _mce_href=""; // ajouter pour le placer sous le paragraphe

the_permalink();

echo "">".$more_link_text."";}

else {

echo $content;

echo ""."";

}

}

Ont va se préoccupé des lignes  18 et 19 qui vont vous permettre de personnalisé la fin du paragraphe :

Ligne 18 : vous pouvez placer dans echo "ici" un texte par exemple lire la suite , trois points de suspenssion…

Ligne 19 : vous pouvez ajouter
comme ceci  echo "...";

Ici j’ai utiliser simplement le code html comme indiquer dans le codex de wordpress

<?php the_content_limit(150, "Lire la suite");?>
<?php the_content_limit(150, "<img src="get_bloginfo('template_directory')/images/icon.png" />");?>


get_bloginfo('template_directory')
cette fonction permet d’indiquer le chemin du dossier de votre thème dans wordpress . Placer le dossier contenant votre icon dans le dossier de votre thème et indiquer le nom du dossier et le nom de votre fichier image après  get_bloginfo('template_directory') comme ci-dessus.

Conclusion

La fonction the_content_limite vous permet de déterminé la longueur de vos extraits avec précision utile pour une page d’accueil qui compte de nombreux extraits d’articles.

 

Deuxième solution avec la fonction  excerpt

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

function excerpt($limit) {

$excerpt = explode(' ', get_the_excerpt(), $limit);

if (count($excerpt)>=$limit) {

array_pop($excerpt);

$excerpt = implode(" ",$excerpt).'...';

} else {

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

}

$excerpt = preg_replace('`\[[^\]]*\]`','',$excerpt);

return $excerpt;

}

Puis appeler la fonction en ajoutant cette ligne de code dans votre boucle :

<?php echo excerpt(25); ?>

Modifier le chiffre 25 pour agrandir ou réduire la longueur de votre extrait, vous pouvez aussi ajouter cette fonction dans d’autre boucles et les personnalisés.