高级自定义字段无法在自定义页面模板wordpress中显示值

时间:2018-01-24 05:27:08

标签: php wordpress advanced-custom-fields

自定义“single.php”无法显示“高级自定义字段”值。

这是使用自定义“single.php”获取自定义“页面模板”的页面ID的功能

enter code here

<?php
  function lang_page_id($id){
    if(function_exists('icl_object_id')) 
    {
      return icl_object_id($id,'page', false,ICL_LANGUAGE_CODE);
    } else 
    {
     return $id;
    }
   }
?>

这表示acf值

enter code here

<h4 class="x-feature-box-title"><?php the_field('smr_header', 
lang_page_id(355));?>

1 个答案:

答案 0 :(得分:1)

删除以下内容:

<?php
    function lang_page_id($id){
       if(function_exists('icl_object_id')) 
       {
           return icl_object_id($id,'page', false,ICL_LANGUAGE_CODE);
       } else 
       {
           return $id;
       }
    }
?>

在您的代码中:

<h4 class="x-feature-box-title"><?php the_field('smr_header', 355);?>

或者:

<?php $h4_feature_title = get_field('smr_header', 355);?>
<h4 class="x-feature-box-title"><?php echo $h4_feature_title;?></h4>

ACF已经具有帖子特定值,只需输入您想要获取该字段的帖子的ID。我不确定你为什么要将它用于当前页面,因为那时你应该只使用the_field('smr_header');因为它从当前页面获取它。

如果你想获取页面的ID,请在循环内:

$postid = get_the_ID();
echo $postid;

仅包含在自定义页面模板上。

如果您确实希望在循环外获取页面的ID,请在以下位置创建一个函数:

global $wp_query;
echo $wp_query->post->ID;