WordPress : Utilisation de get_theme_mod avec case à cocher pour afficher le contenu
J’ai une case à cocher dans le personnalisateur qui vous permet de choisir d’afficher ou non le contenu. J’ai tout pour fonctionner en plus d’afficher le contenu de la page ; il fait écho aux balises HTML mais pas à la date de la page dynamique WordPress.
<?php $servicescontent = get_theme_mod('services-page', 1);
$mod = new WP_Query( array( 'page_id' => $servicescontent ) ); while($mod->have_posts()) : $mod->the_post();?>
<?php $abc = get_theme_mod('services-check', 1);
if( $abc == 1) {
echo ('<div class="section default-bg">
<div class="container">
<h1 id="services" class="text-center title"><?php the_title();?></h1>
<div class="space"></div>
<div class="row">
<?php the_content();?>
<?php endwhile; ?>
</div>
</div>
</div>
<!-- section end -->');}
else{
('');}
?>
Quelqu’un peut-il me dire quels personnages doivent être échappés ? J’essaie de m’enseigner en créant un thème à partir de zéro, mais je n’ai pas été en mesure de résoudre ce problème moi-même. Lorsque vous regardez le HTML de la page rendue, il semble que le PHP de WordPress soit commenté.
Solution n°1 trouvée
Voici une version modifiée de votre code d’origine. Votre déclaration d’écho n’est pas correcte et n’est vraiment pas nécessaire. Il est probablement préférable de sortir de PHP comme je l’ai fait dans le code ci-dessous. En outre, la déclaration inutile else
a été supprimée :
<?php
$servicescontent = get_theme_mod( 'services-page', 1 );
$abc = get_theme_mod( 'services-check', 1 );
$mod = new WP_Query( array( 'page_id' => $servicescontent ) );
while ( $mod->have_posts() ) : $mod->the_post();
if ( $abc == 1 ) { ?>
<div class="section default-bg">
<div class="container">
<h1 id="services" class="text-center title"><?php the_title();?></h1>
<div class="space"></div>
<div class="row">
<?php the_content();?>
</div>
</div>
</div><!-- section end --><?php
}
endwhile;
0 commentaire