2016-01-13 106 views
0

我在Wordpress中使用高級自定義字段。我已成立了一個領域,能夠對我這樣的主頁/前page.php文件模板,顯示它...Wordpress高級自定義字段 - 在PAGE模板上顯示

<?php the_field('primary_tagline'); ?> 

我想用我的page.php文件模板同場,但是當我放下在相同的代碼中,不會返回任何結果。我不明白爲什麼它在一個模板上工作,而不是在另一個模板上。我是否需要不同的代碼才能在多個模板中顯示相同的字段結果?這裏是代碼...

<?php the_field('primary_tagline'); ?> 

    <div id="primary" class="content-area"> 
     <main id="main" class="site-main"> 
      <?php while (have_posts()) : the_post(); ?> 
       <?php get_template_part('template-parts/content', 'page'); ?> 
       <?php 
        if (comments_open() || get_comments_number()) : 
         comments_template(); 
        endif; 
       ?> 
      <?php endwhile; ?> 
     </main><!-- #main --> 
    </div><!-- #primary --> 

這是一個循環問題嗎? ACF不會在循環之外顯示?

回答

1

如果你想抓住循環外域的值,你必須提供POST_ID作爲第二個參數的函數

the_field($field_name, $post_id); //prints value 
$value = get_field($field_name, $post_id); //returns value 

ACF - get_field()

ACF - the_field()

+0

像這樣如果帖子ID是288? <?php the_field($ primary_tagline,$ 288); //打印值 $ value = get_field($ field_name,$ post_id); //返回值?> 不幸的是,它不起作用。 – lowercase

+0

必須是<?php the_field('primary_tagline',288); ?>'或'<?php echo get_field('primary_tagline',288); ?> '$ some_name'在php中是可變的:) – pgk

+0

不幸的是,這是行不通的。我只是不明白爲什麼它可以在front-page.php上正常工作,但不是page.php – lowercase

-2

是的,它應該在帖子內部,因爲該字段是帖子的一部分。

+0

儘管如此,情況並非總是如此,所以必須是展示它的一種方式我想要什麼? – lowercase

1

這樣的:

<?php $value = get_field('primary_tagline', 288); 
echo $value; ?> 
+0

仍然顯示空白... – lowercase

相關問題