使用带有复选框的GET_THEME_MOD显示内容

时间:2016-10-14 作者:MPMullally

我在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被注释掉了。

1 个回复
最合适的回答,由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;