le thème wordpress personnalisé fait écho au code abrégé de la galerie

Publié par Jean-Michel le

Je suis donc assez débutant, essayant de créer un thème personnalisé. Dans une page, je veux avoir une galerie. Images téléchargées, fait une galerie tout va bien.

Lorsque je visualise la page, il n’affiche que le shortcode :

[galerie orderby= »post_date »]

mon fichier page.php a essentiellement:

<?php $content = get_page( $page_id ) ?>

<div id='content' class='shadow'>
    <div id='innercontent'>
<!---page title-->
<?php echo "<h1>".$content->post_title."</h1><br>" ; ?>

<?php echo $content->post_content ?>
    </div>
</div>


<?php get_sidebar(); ?>

<?php get_footer(); ?>

Je ne comprends vraiment pas comment faire en sorte que cela s’affiche correctement, tout pointeur serait grandement apprécié. Bravo, Mat

Lire également:  Wordpress : changer le titre du blog en une image en utilisant la fonction de filtre dans le thème enfant

Solution n°1 trouvée

get_page renvoie les données brutes de la page. Il y a plusieurs façons de faire ce que vous voulez :

MAUVAISE FAÇON :

<?php $content = get_page( $page_id ) ?>

<div id='content' class='shadow'>
    <div id='innercontent'>
<!---page title-->
<?php echo "<h1>".$content->post_title."</h1><br>" ; ?>

<?php echo do_shortcode($content->post_content); ?>
    </div>
</div>


<?php get_sidebar(); ?>

<?php get_footer(); ?>

do_shortcode() rend tous les shortcodes enregistrés qui se trouvent dans une chaîne donnée. Dans ce cas, le contenu de votre page aura tout le shortcode rendu avant d’être écrit dans le document. Je dis que c’est la « mauvaise » méthode, uniquement parce qu’elle ne suit pas le format WordPress habituel. Ce qui nous amène au :

Lire également:  Le widget Wordpress ne s'affiche pas sur (AdminPanel)

MEILLEURE FAÇON:

<?php if(have_posts()) : while(have_posts()) : the_post(); ?>

<div id='content' class='shadow'>
    <div id='innercontent'>
<!---page title-->
<h1><?php the_title(); ?></h1><br>
<?php the_content(); ?>
    </div>
</div>
<?php endwhile;endif; ?>

<?php get_sidebar(); ?>

<?php get_footer(); ?>

C’est ce qu’on appelle « La boucle ». C’est à peu près la norme pour tous les thèmes WordPress pour récupérer toutes les données de publication ou de page, ainsi que pour exécuter des requêtes sur la base de données.

Lire également:  Comment créer une fonction comme the_tags() ou the_category() dans wordpress ?

Je suggérerais de le connaître, ainsi que d’exécuter des requêtes WordPress pour modifier la boucle à l’aide de WP Query. Cela entre dans un domaine plus complexe de WordPress, mais cela vous aidera à long terme à déterminer comment rassembler tous les articles et pages que vous souhaitez récupérer dans votre thème et qui ne sont pas fournis par les globals de WordPress.

Bonne chance.

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 *