自定义文章类型tender的循环模板中如何在页顶单次显示不重复图片
解决方案
你当前修改的是循环内调用的模板部件,自定义文章类型列表页的主文件tender-page.php中会通过循环重复调用该部件,所以无论你在这个部件里加什么内容,都会随循环重复输出。
方法1(优先选择):修改主模板文件tender-page.php
直接在主文件的循环代码之前插入你的图片代码,即可实现单次展示,参考位置如下:
<?php /** * Template for Tender Custom Post Type Archive * * @package */ get_header(); ?> <!-- 在这里插入你的图片代码,处于循环外部,仅会加载一次 --> <img src="替换为你的实际图片链接" alt="替换为图片说明文字" class="自定义样式类名"> <?php // 原有列表循环逻辑保留 if ( have_posts() ) : while ( have_posts() ) : the_post(); // 这里是调用你当前所用模板部件的代码 get_template_part( 'template-parts/对应你的部件实际路径' ); endwhile; endif; ?> <?php get_footer(); ?>
方法2:在现有模板部件中添加判断逻辑
如果你不方便修改主模板文件,可以在当前模板部件头部新增计数器判断逻辑,仅第一次循环时输出图片,修改后完整代码如下:
<?php /** * Template part for displaying posts in the loop * * @package */ // 新增判断逻辑:仅第一次循环时输出顶部图片 global $tender_loop_count; if ( !isset($tender_loop_count) ) { echo '<img src="替换为你的实际图片链接" alt="替换为图片说明文字" class="自定义样式类名">'; } $tender_loop_count++; // 原有业务逻辑保留 $company = get_field( "company" ); $tender_documents = get_field( "tender_documents" ); $tender_category = get_field( "tender_category" ); ?> <div class="tender-listing"> ... Content </div>
内容的提问来源于stack exchange,提问作者Dan
相关产品推荐
相关产品推荐

