Affichage conditionnel WordPress du titre de la page à l’intérieur du the_content à l’aide de functions.php

Publié par Jean-Michel le

Aperçu rapide :
j’essaie d’afficher le titre de la page dans the_content(), mais cela doit être conditionnel et ne s’afficher que si la page contient une image jointe. Cela doit également être fait via le fichier de fonctions.

Où j’en suis :
c’est le code que j’ai jusqu’à présent… mais ça ne marche pas, et je pense que le problème est qu’il est en dehors de la boucle… comment puis-je utiliser le code pour rechercher l’identifiant de la page. .. ou comment puis-je le faire fonctionner?

<?php

        if ( has_post_thumbnail() ) {
        add_filter('the_content', 'contentTitle');
            function contentTitle($content='')
            {
                $theTitle = '<h1>' . get_the_title() . '</h1>';
                return $theTitle . $content;
            }
        } else {
                // Do nothing
            }

?>

Solution n°1 trouvée

LA SOLUTION

Lire également:  Wordpress : get_theme_mod renvoie toujours la valeur par défaut

Le « si » aurait dû être à l’intérieur de la fonction elle-même.

<?php
add_filter('the_content', 'contentTitle');

function contentTitle($content='') {

   if ( has_post_thumbnail() ) {
   $theTitle = '<h1>' . get_the_title() . '</h1>';
   return $theTitle . $content;

   } else {

   // Do nothing

   }
}
?>

Solution n°2 trouvée

Vous devez globaliser l’objet de publication afin que l’ID de publication soit disponible.

add_filter('the_content', 'contentTitle');

function contentTitle($content='')
{
 global $post;
 if( has_post_thumbnail( $post->ID ){
   $theTitle = '<h1>' . get_the_title( $post->ID ) . '</h1>';
   return $theTitle . $content;
   }
}
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 *