当我保存帖子时,元框中的数据没有保存在数据库中......错误在哪里?
我的代码在这里:pastebin。
谢谢!
实际上,您已经在函数中声明了$rest_custom_meta_fields
数组restaurant_data_form
并尝试在save_restaurant_custom_meta
函数中使用它,在这种情况下,数组超出了函数范围,因此foreach ($rest_custom_meta_fields as $field)
无法正常工作。
为了克服这个问题,您可以将数组排除在外,只需在函数之前restaurant_data_form
声明array
正确的restaurant_data_form
$rest_custom_meta_fields = array(
array(
'label'=> 'Address',
'desc' => 'Plugin use it to get map',
'id' => $prefix.'text_address',
'type' => 'text'
),
...
);
在你的restaurant_data_form
功能中
function restaurant_data_form()
{
$prefix = 'rest_';
global $post, $rest_custom_meta_fields;
// ...
}
所以它应该看起来像这样(数组在全局范围内)
$rest_custom_meta_fields = array(
array(...),
...
);
function restaurant_data_form()
{
$prefix = 'rest_';
global $post, $rest_custom_meta_fields;
// ...
}
我希望这能解决问题。同样在您使用的代码的末尾
echo add_action('save_post', 'save_restaurant_custom_meta');
从语句echo
的开头删除。add_action(...)