Duplicate possible:
extrait en caractères
J'ai une question après avoir lu ce post ( Comment mettre en évidence les termes de recherche sans plugin ). J'aime beaucoup cette fonction (terme de recherche sans plugin), mais la longueur des caractères est trop longue. Quel code php devrais-je ajouter pour rendre l'extrait plus court? J'apprécierais si quelqu'un peut le suggérer. Je vous remercie!
ajoute ces lignes dans le fichier function.php
function custom_excerpt_length( $length ) {
return 20;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
En plus du crochet de filtrage fourni par Deepa, voici une fonction supplémentaire qui peut vous aider à étendre l'utilisation de the_excerpt
de deux manières:
Limitez l'extrait par le nombre de caractères mais ne tronque PAS le dernier mot. Cela vous permettra de renvoyer un nombre maximal de caractères tout en conservant les mots entiers. Ainsi, seuls les mots pouvant correspondre à la limite de nombre spécifiée sont renvoyés et vous permet de spécifier la source d'où proviendra l'extrait.
function get_excerpt($limit, $source = null){
$excerpt = $source == "content" ? get_the_content() : get_the_excerpt();
$excerpt = preg_replace(" (\[.*?\])",'',$excerpt);
$excerpt = strip_shortcodes($excerpt);
$excerpt = strip_tags($excerpt);
$excerpt = substr($excerpt, 0, $limit);
$excerpt = substr($excerpt, 0, strripos($excerpt, " "));
$excerpt = trim(preg_replace( '/\s+/', ' ', $excerpt));
$excerpt = $excerpt.'... <a href="'.get_permalink($post->ID).'">more</a>';
return $excerpt;
}
/*
Sample... Lorem ipsum habitant morbi (26 characters total)
Returns first three words which is exactly 21 characters including spaces
Example.. echo get_excerpt(21);
Result... Lorem ipsum habitant
Returns same as above, not enough characters in limit to return last Word
Example.. echo get_excerpt(24);
Result... Lorem ipsum habitant
Returns all 26 chars of our content, 30 char limit given, only 26 characters needed.
Example.. echo get_excerpt(30);
Result... Lorem ipsum habitant morbi
*/
Cette fonction peut être utilisée plusieurs fois dans des fichiers de thème, chacun avec différentes limites de caractères spécifiées.
Cette fonction a la capacité de récupérer un extrait de l'un ou l'autre,
the_content
the_excerpt
Par exemple, si vous avez des publications qui contiennent du texte dans la zone _excerpt de l'écran d'édition de publication, mais souhaitez extraire un extrait du corps_content à la place pour un cas d'utilisation particulier, vous feriez plutôt;
get_excerpt(140, 'content'); //excerpt is grabbed from get_the_content
Cela indique à la fonction que vous voulez les 140 premiers caractères de the_content
, qu'un extrait soit défini ou non dans la zone the_excerpt
.
get_excerpt(140); //excerpt is grabbed from get_the_excerpt
Cela indique à la fonction que vous voulez les 140 premiers caractères de the_excerpt
en premier, là où aucun extrait n'existe, the_content
sera utilisé comme solution de secours.
La fonction peut être améliorée pour être plus efficace et/ou incorporée avec l’utilisation de filtres WordPress pour the_content
ou the_excerpt
ou simplement utilisée telle quelle dans les situations où il n’existe aucune option appropriée , alternative à l’API WordPress intégrée.