我在运行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;
?>