get_extended une fonction pour récupérer l’extrait et le reste du contenu

Mis à jour le :

Intercaler du contenu entre l’extrait défini par la balise « Lire la suite… » et le reste de l’article – afin d’insérer par exemple un encart publicitaire, n’est pas une mince affaire.

Il existe néanmoins une fonction méconnue intitulée get_extended qui permet de récupérer soit l’extrait défini par l’utilisateur, soit le reste du contenu.

Dans un thème WordPress, nous utilisons la fonction the_content(); qui récupère le contenu saisi dans l’éditeur. Aussi, il est classique de rédiger une introduction puis de marquer une délimitation afin de générer manuellement un extrait. Le problème est que cette fonction the_content(); ne permet pas de se placer entre ce fameux extrait et le reste du contenu.

C’est là que j’ai découvert la fonction get_extended en parcourant complètement par hasard le Codex WordPress, la documentation officielle. Elle retourne un tableau avec main pour l’extrait et extended pour la suite du contenu.

Il suffit donc d’ajouter du code personnel entre les deux comme le montre ces quelques lignes ci-dessous :

$content = get_extended( $post->post_content );
$excerpt = $content['main'];
$main_content = apply_filters('the_content', $content['extended']);

echo '<p>'.$excerpt.'</p>';

// Votre code ici

echo $main_content;

J’ai utilisé cette technique afin d’insérer un encart publicitaire sur ce site à titre d’exemple.

Chers lecteurs, aviez-vous connaissance d’une telle fonction PHP ? En connaissez-vous d’autres ?

Avatar de Aurélien Denis

Protégez votre site WordPress

Vos données sont précieuses,
ne prenez pas le risque de tout perdre.
Confiez-moi votre maintenance !

Ces articles devraient t’intéresser…

5 réponses
  1. Avatar de Guettelyly
    Guettelyly

    Excellent! Merci du partage!

  2. Avatar de STEVEN DIAI
    STEVEN DIAI

    Excellent, merci pour le partage ! Je ne pensais pas que wordpress pouvait gérer ça nativement. Surpris et heureux de voir que oui 🙂

  3. Avatar de Julien Appert
    Julien Appert

    Belle découverte ! Dire que je m’étais développé une fonction qui réalise exactement la même chose. Comme quoi on n’a jamais fait complètement le tour du Codex.

  4. Avatar de Julio Potier
    Julio Potier

    Hello,
    Tu en fais une très bonne utilisation, elle te permet d’insérer du contenu DANS un article sans avoir à l’insérer dans chaque post, ni d’y ajouter un shortcode. Nice !

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Merci l’ami !