我在customizer中有一个复选框,允许您选择是否显示内容。除了显示页面内容外,我还需要完成所有工作;它回显HTML标记,但不回显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{
(\'\');}
?>
有人能告诉我哪些角色需要转义吗?我试图通过从头开始构建一个主题来教会自己,但我自己却无法解决这个问题。当查看呈现页面的HTML时,看起来WordPress PHP被注释掉了。
最合适的回答,由SO网友:Dave Romsey 整理而成
这是原始代码的修改版本。你的echo声明不对,真的没有必要。像我在下面的代码中所做的那样跳出PHP可能更好。此外,不必要的else
语句已删除:
<?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;