Я выполняю функцию в php для метабокса в проекте WordPress, но когда я пытаюсь сохранить некоторые значения в этом метабоксе, появляется сообщение об ошибке
Предупреждение: недопустимое смещение строки 'horar ios 'в D: ... \ normal-metabox-turmas. php в строке 63
и не сохраняет значение. Ниже приведены некоторые части функции metabox и функции сохранения
// Metabox function
function regular_get_post_meta_turmas() {
global $post;
$locais = get_post_meta($post -> ID, 'locais', true);
$fields = array(
'local' => 'Nome do local',
'endereco' => 'Endereço',
'cidade' => 'Cidade',
'cep' => 'CEP',
'telefone_1' => 'Telefone 1',
'telefone_2' => 'Telefone 2',
'email' => 'E-mail',
'site' => 'Site',
'observacoes' => 'Observações'
);
$horariosfields = array(
'dias',
'hora_i',
'hora_f'
);
$dayfields = array(
'seg' => '0seg',
'ter' => '1ter',
'qua' => '2qua',
'qui' => '3qui',
'sex' => '4sex',
'sab' => '5sab',
'dom' => '6dom'
);
//[....]
<?php foreach ( (array)$locais as $local ) { ?>
<?php if (!empty($local)) { ?>
<?php foreach ( (array)$local['horarios'] as $date_and_time ) { ?> //This is line 63
//[....]
// Save function
<?php
add_action('save_post', 'save_regular_post_meta', 1);
function save_regular_post_meta($post_id){
if ( isset($_POST['regular_cpt_nonce']) && !wp_verify_nonce( $_POST['regular_cpt_nonce'], basename(__FILE__) ) ) return;
// check autosave
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;
// check permissions and verify if this is our post type saving.
if ( get_post($post_id)->post_type != 'regular' ) {
return;
} elseif (!current_user_can('edit_post', $post_id)) {
return;
}
$meta_data = array(
'Local' => array(
'value' => isset($_POST['locais']),
'name' => 'locais'
)
);
$lista_de_locais = $meta_data['Local']['value'];
if ( is_array($lista_de_locais) && !empty($lista_de_locais) ) {
sort($lista_de_locais);
if ( is_array($lista_de_locais['horarios']) && !empty($lista_de_locais['horarios']) ) {
sort($lista_de_locais['horarios']);
}
}
foreach ($meta_data as $data) {
update_post_meta($post_id, $data['name'], $data['value']);
}
}
?>
Спасибо