如何为WordPress自定义文章循环中"coming soon"分类添加类?
解决方案:为指定分类的自定义文章添加专属类并禁用点击
不需要额外添加查询,只需在循环内判断当前文章是否属于"coming soon"分类,即可动态添加专属类并禁用所有跳转链接。具体修改步骤如下:
1. 在循环内添加分类判断逻辑
在循环开始后,先判断当前文章是否归属目标分类(注意替换coming-soon为你后台实际的分类slug):
while ( $wellpad_query->have_posts() ) : $wellpad_query->the_post(); // 判断当前文章是否属于"coming soon"分类 $is_coming_soon = has_term( 'coming-soon', 'wellpad_category' ); // 定义专属类名 $item_class = $is_coming_soon ? 'coming-soon-item' : '';
2. 给列表项添加专属类
修改<li>标签,动态输出类名:
<li class="<?php echo esc_attr( $item_class ); ?>">
3. 禁用分类内容的所有链接
针对图片、标题、按钮三个链接区域,分别做条件判断:
图片区域修改
<div class="wellpadsimg"> <?php if ( $is_coming_soon ) : ?> <!-- 不可点击的图片 --> <?php if ( has_post_thumbnail() ) { echo '<div class="featured-thumb clearfix">'; the_post_thumbnail(); echo '</div>'; } ?> <?php else : ?> <a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'azurebasic' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"> <?php if ( has_post_thumbnail() ) { echo '<div class="featured-thumb clearfix">'; the_post_thumbnail(); echo '</div>'; } ?> </a> <?php endif; ?>
标题区域修改
<h2> <?php if ( $is_coming_soon ) : ?> <?php the_title(); ?> <?php else : ?> <a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'azurebasic' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a> <?php endif; ?> </h2>
"View Data"按钮修改
<?php if ( $is_coming_soon ) : ?> <span class="green disabled">View Data →</span> <?php else : ?> <a class="green" href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'azurebasic' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark">View Data →</a> <?php endif; ?>
4. 可选:添加视觉区分样式
可以通过CSS给专属类添加视觉效果,让用户直观区分不可点击内容:
.coming-soon-item { opacity: 0.7; cursor: not-allowed; } .coming-soon-item .green.disabled { color: #999; pointer-events: none; }
注意事项
- 确保
has_term函数中的分类slug与后台"coming soon"分类的实际别名一致(默认空格会转为短横线,即coming-soon)。 - 所有修改都基于现有循环逻辑,无需调整原有的
WP_Query查询参数。
内容的提问来源于stack exchange,提问作者Peggy
相关产品推荐
相关产品推荐

