未显示高级自定义字段值

时间:2016-10-31 15:17:11

标签: advanced-custom-fields

我在博客上的4个地方使用自定义字段。我在高级自定义字段中输入了默认值,但没有打印任何内容。

   <?php
      global $formTitle;
      global $formSubtitle;
      global $formBackground;


        $formTitle = get_post_custom_values( 'title' );


        $formSubtitle = get_post_custom_values( 'description' );


      if (!$formBackground):
        $formBackground = 'contact-form--background';
      endif;

      $portalId = get_post_custom_values( 'portalid' );
      $formId = get_post_custom_values( 'formid' );
    ?>

    <div id="cta__contactForm" class="contact-form <?= $formBackground ?>">
      <div class="page-width text-center">
        <h4 class="contact-form__header"><?= $formTitle ?></h4>
        <p class="contact-form__subheader"><?= $formSubtitle ?></p>
        <!--[if lte IE 8]>
        <script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/v2-legacy.js"></script>
        <![endif]-->
        <script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/v2.js"></script>
        <script>
          // Blog form
          hbspt.forms.create({
            css: '',
            portalId: <?php $portalId?>,
            formId: <?php $formId?>
          });
        </script>
      </div>
    </div>

1 个答案:

答案 0 :(得分:2)

您应该使用高级自定义字段&#39;函数get_field()而不是get_post_custom_values()。

您似乎正在使用WordPress功能,该功能不会从ACF返回值。

您可以在此处详细了解get_field(): https://www.advancedcustomfields.com/resources/get_field/

我无法重新编写代码来解决问题,因为我不知道每个字段的字段类型,或者设置为保存的格式。但是,这是一个简单的例子:

<?php $myCustomField = get_field('customMessage');
echo '<h3>'.$myCustomField.'</h3>'; ?>

这将获取自定义字段&#34; customMessage&#34;的值,如果设置为文本字段,则在h3标记内输出该文本。