$ output显示不正确

时间:2015-03-05 13:13:28

标签: php wordpress loops plugins foreach

我遇到了一个问题,我运行一个foreach循环我希望它只显示数组中的内容()但是当我输出循环时它会显示“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 = get_field_object($)的原因是因为我使用插件在帖子上制作自定义字段并希望显示这些字段,因为“client”,“task”和“brand”是那些字段标签

4 个答案:

答案 0 :(得分:0)

你能试试吗

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

而不是

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

不知道get_field_object的作用。它似乎不是PHP参考中出现的函数。如果你发布了它的&#39;代码。

你能提供完整的输出吗?

答案 1 :(得分:0)

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

应该是

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

答案 2 :(得分:0)

你应该使用:

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

而不是:

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

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

答案 3 :(得分:0)

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

<?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;
            ?>