如何在数组循环中获取键名?WordPress自定义字段场景
解决方案
原代码的问题在于外层循环只获取了数组的值,没有捕获对应的键名(也就是你定义的media和content),修改方式如下:
修改后的代码
$fields = get_post_meta($postId); unset($fields['_edit_lock'], $fields['_edit_last'], $fields['_thumbnail_id']); echo '<ul>'; // 外层循环同时捕获字段键名和对应的值数组 foreach($fields as $fieldKey => $fieldValues) { // 遍历每个字段的具体值(get_post_meta默认返回数组格式的值) foreach($fieldValues as $value) { // 将键名首字母大写,匹配你期望的输出格式 $displayKey = ucfirst($fieldKey); echo '<li>'.$displayKey.'->'.$value.'</li>'; } } echo '</ul>';
关键修改点
- 外层
foreach改为foreach($fields as $fieldKey => $fieldValues),直接拿到media和content这些字段的键名 - 移除内层循环中未使用的
$key变量 - 用
ucfirst($fieldKey)把小写键名转成首字母大写格式,对应你要的Media和Content - 替换原代码中输出
$i(数组本身,所以显示Array)的部分,改为使用处理后的字段键名
内容的提问来源于stack exchange,提问作者rob.m
相关产品推荐
相关产品推荐

