essayer d'empêcher get_the_excerpt () de passer par défaut à the_content () s'il est vide.
cela fonctionne un peu - bien, il semble renvoyer 'xxx', alors je pense que has_excerpt () ne fonctionne pas?
function get_link_excerpt(){
if(has_excerpt()){
$LinkExcerpt = get_the_excerpt();
return $LinkExcerpt."...";
}
return 'no excerpt';
}
add_filter('get_the_excerpt', 'get_link_excerpt');
quel est le meilleur moyen de contrôler cela?
meilleur, Dc
WordPress définit un filtre par défaut pour get_the_excerpt
: wp_trim_excerpt()
. C’est cette fonction qui générera un extrait du contenu "si nécessaire" . Si vous ne voulez pas ce comportement, vous pouvez simplement décrocher le filtre:
add_action( 'init', 'wpse17478_init' );
function wpse17478_init()
{
remove_filter( 'get_the_excerpt', 'wp_trim_excerpt' );
}
Maintenant, get_the_excerpt()
retournera simplement le contenu du champ de base de données post_excerpt
. Si vous voulez retourner quelque chose quand il est vide, il vous suffit de cocher cette case:
add_filter( 'get_the_excerpt', 'wpse17478_get_the_excerpt' );
function wpse17478_get_the_excerpt( $excerpt )
{
if ( '' == $excerpt ) {
return 'No excerpt!';
}
return $excerpt;
}
Il n'est pas nécessaire d'appeler get_the_excerpt()
- il peut même introduire une récursion sans fin car il applique à nouveau votre filtre!