我想知道我从后端获取信息的问题是什么。 (之前从未遇到过这样的问题)
我创建了一个由get_template_part()部分组成的index.php。 要
<?php get_header(); ?>
<?php get_template_part( 'partials/index', 'slider' );
get_template_part( 'partials/index', 'services' );
get_template_part( 'partials/index', 'work' );
get_template_part( 'partials/index', 'testimonials' );
get_template_part( 'partials/index', 'recent' );
get_template_part( 'partials/index', 'technologies' );
get_template_part( 'partials/index', 'contact' ); ?>
<?php get_footer(); ?>
所有这些模板部件都包含自己的html + php。 它从那些部分中检索所有HTML,但是在ACF字段上的信息,它没有被检索。
index-services.php in&#34; partials&#34;文件夹示例:
<section id="services">
<div class="container">
<div class="row">
<div class="col-lg-12 text-center">
<div class="title">
<h1 class="section-heading text-uppercase">
<?php the_field('service_section_title'); ?>
</h1>
<p class="text-faded">
<?php the_field('service_section_description'); ?>
</p>
<div class="btn btn-primary btn-sm">
<a href="<?php the_field('service_section_button_link'); ?>">Learn more</a>
</div>
</div>
</div>
</div>
</div>
添加index-services.php的所有链接(带转发器字段)
Image of retrieved HTML of get_template_part()
问题是,那些the_field()函数都没有从后端检索信息。
我在后端设置字段以在页面中显示为索引(并显示,填充)
我遇到查询循环问题吗?
答案 0 :(得分:0)
尝试传递帖子ID:<?php the_field($field_name, $post_id); ?>
如果你不在循环中,那可能就是问题所在。
答案 1 :(得分:0)
ACF the_field()
函数在循环内部工作。它使用$post->ID
来获取与任何特定帖子或页面相关的信息。
尝试传递像the_field('FIELD_NAME', $post->ID);
这样的帖子ID,或者如果是转发器,则需要在转发器循环中传递帖子ID:
if ( have_rows('FIELD_NAME', $post-ID) ){
while ( have_rows('FIELD_NAME', $post->ID) ): the_row();
the_sub_field('SUB_FIELD_NAME'); // No need to add post ID here
endwhile;
}
我想这会解决你的问题。