You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在无即将举办的Event自定义文章类型时隐藏对应Section

实现无即将活动时隐藏整个section的方法

核心思路是先执行活动查询,再根据查询结果决定是否渲染整个section区块,具体修改如下:

  1. 将WP_Query的查询代码移到
    标签之前,先获取活动数据
  2. 用$homepageEvents->have_posts()判断是否存在符合条件的活动,只有当结果存在时,才输出
    内的所有内容
  3. 循环结束后重置查询上下文,避免影响后续WordPress操作

修改后的完整代码:

<?php 
$today = date('Ymd');
$homepageEvents = new WP_Query(array(
    'posts_per_page' => 3,
    'post_type' => 'event', 
    'meta_key' => 'event_date',
    'orderby' => 'meta_value_num', 
    'order' => 'ASC', 
    'meta_query' => array(
        array(
            'key' => 'event_date', 
            'compare' => '>=', 
            'value' => $today, 
            'type' => 'numeric'
        )
    )
));

// 只有存在即将举办的活动时,才渲染整个section
if ($homepageEvents->have_posts()) { ?>
<section class="row home-news bg-pale-blue" id="events__section">
  <div class="inner">
    <div class="block">
    <div class="columns listing-title wide-gutter">
       <div class="col1-2 title">
         <h3>Upcoming Events</h3>
       </div>
    </div>
    <div class="columns article-listing news-listing wide-gutter">
        <?php while($homepageEvents->have_posts()){
          $homepageEvents->the_post(); ?>
            <div class="col1-3 item">
               <a class="blog-line" href="<?php the_permalink(); ?>">
               <span class="date"><?php the_field('event_date',$post->ID); ?></span>
               <h2><?php the_title(); ?></h2>
               <p><?php echo wp_trim_words(get_field('summary_text',$post->ID), 25); ?></p>
               <span class="more-link"><i class="fa fa-chevron-circle-right"></i>&nbsp;Read more</span>
               </a>
            </div>
        <?php } 
        // 重置查询上下文,恢复原始文章数据
        wp_reset_postdata(); ?>
            </div>
        </div>
    </div>
</section>
<?php } ?>

关键修改说明

  • 前置查询:把活动查询逻辑放在
    之前,提前判断是否有符合条件的活动
  • 条件渲染:通过if ($homepageEvents->have_posts())包裹整个section,确保无活动时不输出任何相关HTML
  • 重置查询:添加wp_reset_postdata(),避免自定义查询影响后续WordPress的全局文章数据(比如首页其他内容的查询)

内容的提问来源于stack exchange,提问作者user22722114

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 09:15:16