答案 0 :(得分:0)
实际上你已经在$rest_custom_meta_fields
函数中声明了你的restaurant_data_form
数组并尝试在save_restaurant_custom_meta
函数中使用它,在这种情况下,数组不在函数范围内,所以{{1} }无法正常工作。
要解决此问题,您可以将数组保留在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
。