仅当具有变量时显示主题的一部分


showing part of theme only if has variable

如果没有变量,我需要知道如何隐藏模板的一部分

这是我的代码,在我给它变量之前需要隐藏:

<div class="row">
   <!--forum-->
    <div class="col-sm-6">
    <div class="panel panel-success">
      <div class="panel-heading">
        <h3 class="panel-title">Latest forum topics</h3>
      </div>
      <div class="panel-body">
        <?php
      if(is_active_sidebar('forum')){
      dynamic_sidebar('forum');
      }
      ?>
      </div>
    </div>
    </div><!-- end of forum-->
  <!--slider-->
  <div class="col-sm-6">
  <div class="panel panel-info">
    <div class="panel-heading">
      <h3 class="panel-title">Popular posts</h3>
    </div>
    <div class="panel-body">
      Panel content
    </div>
  </div>
</div><!-- end of slider -->    
</div>

现在例如forum部分就像我想要的但只是内容,我也需要论坛框一样。

你能告诉我怎么做吗?完全我需要为其他部分学习这件事,我不想只是复制和粘贴代码,如果你能向我解释,我将不胜感激。

感谢emmanuel解决我的问题,

更新:

现在我的代码的第二部分改为:

  <!--slider-->
  <?php if (function_exists('do_shortcode')): ?>
  <div class="col-sm-6 pull-right">
  <div class="panel panel-info">
    <div class="panel-heading">
      <h3 class="panel-title">Popular posts</h3>
    </div>
    <div class="panel-body">
      <?php echo do_shortcode('[cycloneslider id ="slider"]'); ?>
    </div>
  </div>
</div>
<?php endif; ?>
<!-- end of slider --> 

一切都很好,但问题是,即使我的变量是空的,也会显示框和一些注释。

ps:注意,我可以通过编辑插件删除它(没有问题),但问题是显示那个框,我只想如果有变量显示框+幻灯片,如果根本不显示任何东西。

您可以将要显示/隐藏的部分包装在if。。。endif条件。

<?php if(is_active_sidebar('forum')) : ?>
<!--forum-->
    <div class="col-sm-6">
    <div class="panel panel-success">
      <div class="panel-heading">
        <h3 class="panel-title">Latest forum topics</h3>
      </div>
      <div class="panel-body">
      </div>
    </div>
    </div>
<!-- end of forum-->
<?php endif; ?>

参考:控制结构的替代语法