$output显示不正确


$output displays incorrectly

我在运行foreach循环时遇到了一个问题,我希望它只显示array()中的内容,但当我输出循环时,它显示的是"arrayclient",而不仅仅是客户端。我做错了什么?

<?php 
            $data_array = array("client","task","brand");
            $output = '<div class="clientele">';
            foreach($data_array as $data) {
                $output .= '<section>';
                $output .= '<img src='. get_template_directory_uri()."/img/{$data}.png />";
                $output .= '<h2>'. $field = get_field_object($data);
                $output .= $field['label']. '</h2>';
                $output .= '<p>'. $field['value']. '</p>';
                $output .= '</section>';
            }
            $output .= '</div>';
            echo $output;
            ?>

使用$field=getfieldobject($)的原因是,我正在使用一个插件在帖子上创建自定义字段,并希望显示这些字段,因为"client"、"task"answers"brand"是这些字段标签。

 $output .= '<h2>'. $field = get_field_object($data);
            $output .= $field['label']. '</h2>';

应该是

  $field = get_field_object($data);
  $output .= '<h2>'.$field['label'].'</h2>';

你能试试吗

$field = get_field_object($data);
$output .= '<h2>'. $field;

而不是

$output .= '<h2>'. $field = get_field_object($data);

不知道get_field_object做什么。它似乎不是出现在PHP引用中的函数。如果你发布了它的代码,那会很有帮助。

你也能提供完整的输出吗?

您应该使用:

$output .= '<h2>'. $field = get_field_object($data)[0];

代替:

$output .= '<h2>'. $field = get_field_object($data);

与其他自定义字段一样,WordPress允许存在多个具有相同键的字段值,因此您必须指定要输出的字段值。

感谢大家的帮助!我确实尝试了每一种,看起来KuteHP提供的信息似乎效果最好。这是我的最终代码。

<?php 
            $data_array = array("client","task","brand");
            $output = '<div class="clientele">';
            foreach($data_array as $data) {
                $output .= '<section>';
                $output .= '<img src='. get_template_directory_uri()."/img/{$data}.png />";
                $field = get_field_object($data);
                $output .= '<h2>'.$field['label'].'</h2>';
                $output .= '<p>'.$field['value'].'</p>';
                $output .= '</section>';
            }
            $output .= '</div>';
            echo $output;
            ?>