Modification de la longueur du_contenu dans WordPress

Publié par Jean-Michel le

Je construis un site pour un client qui a besoin de différentes longueurs pour à peu près tout. the_excerptLa 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_contentla 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_namepour 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');

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *