2017-01-07 2 views
0

У меня этот WP установлен с ACF Появилась проблема, что getfield возвращает пустое значение.ACF - getfield() возвращает пустое значение

Heres мой код в передней page.php

<?php 
     $forside_slagord_stor = get_field('forside_slagord_stor'); 
     $forside_slagord_liten = get_field('forside_slagord_liten'); 
     $forside_slagord_liter = get_field('om_oss_tekst'); 
?> 
    <header> 
    <div class="container"> 
     <div class="intro-text"> 
      <div class="intro-lead-in"><?php echo $forside_slagord_stor;?></div> 
      <div class="intro-heading"><?php echo $forside_slagord_liter;?></div> 
      <a href="#services" class="page-scroll btn btn-xl">Tell Me More</a> 
     </div> 
    </div> 
</header> 

Вот моя установка ACF. ACF setup

А вот ACF - forside установка ACF - forside setup

В результате он возвращает пустое значение.

Спасибо за вашу помощь

+0

Я думаю, что код верен! возможно, вы можете попробовать «->» «в php-части, но я думаю, что это не проблема» – meck373

+0

Убедитесь, что вы находитесь в текущем сообщении. Если нет, вам нужно указать post id как второй параметр. 'get_field ($ field_name, $ post_id);' – Mehedee

+0

Благодарим вас за ответы. Я уверен, что я на текущем посту. Может ли быть, что мне нужно потребовать файлы som acf до того, как этот код срабатывает? или может быть, что iam развивается на локальном хосте? –

ответ

1

Без второго параметра в get_field, вы должны быть в курсе, и это, кажется, что вы не в.

Если ваш код находится в верхней части странице, вам нужно добавить параметр идентификатора сообщения, вам нужно использовать global $post;, чтобы получить его.

<?php 
    global $post; 

    $forside_slagord_stor = get_field('forside_slagord_stor', $post->ID); 
    $forside_slagord_liten = get_field('forside_slagord_liten', $post->ID); 
    $forside_slagord_liter = get_field('om_oss_tekst', $post->ID); 
?> 
<header> 
<div class="container"> 
    <div class="intro-text"> 
     <div class="intro-lead-in"><?php echo $forside_slagord_stor;?></div> 
     <div class="intro-heading"><?php echo $forside_slagord_liter;?></div> 
     <a href="#services" class="page-scroll btn btn-xl">Tell Me More</a> 
    </div> 
</div> 

Другой ответ об одном из ваших комментариев: вам не нужно включать любой файл ACF, когда шаблон собирается вынести все плагины файлы и активы, как правило, нагрузка.

Надеюсь, это поможет!

+1

Спасибо, сэр. Ваш ответ был очень полезным. Сначала я не был связан ни с одной страницей на первой странице, поэтому post_id был пустым, а я установил «forside» на статическую переднюю страницу. Чем это сработало, как шарм. –