Modification de la longueur du_contenu dans WordPress
Je construis un site pour un client qui a besoin de différentes longueurs pour à peu près tout. the_excerpt
La balise est déjà raccourcie à 15 mots, mais j’ai besoin the_content()
d’être raccourcie sur la page principale « mises à jour », mais je dois ensuite travailler dans sa forme complète (illimitée) sur la page de publication réelle.
Comment est-ce que je ferais ça ? Est-ce que quelqu’un sait s’il existe un moyen de modifier the_content
la page de sortie PER?
Comment pourrais-je créer une « fonction » qui fait essentiellement ce qui suit
the_content("short")
pour la page de destination des blogs,
the_content();
la sortie normale fonctionne normalement sur single.php ?
Solution n°1 trouvée
Deux solutions : Première solution : Appliquer filter au filtre hook the_content
, comme ceci : add_filter( ‘the_content’, ‘filter_function_name’ ) (placé dans functions.php). Créez ensuite la fonction filter_function_name
pour trouver le contexte de l’appel et raccourcir conditionnellement la longueur du retour. Voir ici pour plus d’informations sur l’application de filtres à the_content : http://codex.wordpress.org/Plugin_API/Filter_Reference/the_content
Deuxième solution : n’utilisez pas the_content() mais votre propre fonction comme sp_content().
function sp_content($length) {
if ($length == "") { $content = get_the_content(); }
else { $content = substr(get_the_content(), 0, $length) }
return $content;
}
Ou encore plus simple : lorsque vous avez besoin du contenu long, utilisez the_content()
et dans tous les autres cas, utilisez simplement short_content()
après avoir créé votre propre fonction comme ceci :
short_content() {
substr(get_the_content())... etc.
}
Solution n°2 trouvée
mettez le code suivant dans votre thèmefunctions.php
function custom_excerpt_length( $length ) {
return 20;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
au lieu de 20, utilisez la longueur d’extrait que vous souhaitez
Solution n°3 trouvée
Vous pouvez changer la longueur des caractères de the_excerpt()
en mettant le code suivant dans votre functions.php
:
function custom_excerpt_length( $length ) {
return 20;
}
add_filter( 'excerpt_length', 'custom_excerpt_length');
0 commentaire