В моем пользовательском пост-типе я создаю мета-поле многомерного массива с несколькими input
s, с кодом ниже:
<?php
$services = get_post_meta($post->ID, 'services', true);
foreach ((array) $services as $service) {
echo '<div class="inside">
<div>
<label>Title</label>
<input type="text" name="service[][title]" value="' . $service['title'] . '">
</div>
<div>
<label>Type</label>
<input type="text" name="service[][type]" value="' . $service['type'] . '">
</div>
<div>
<label>Content</label>
<textarea name="service[][text]">' . $service['text'] . '</textarea>
</div>';
}
exit;
?>
И, сохраняя данные с помощью функции ниже:
function service_save_meta_box_data($post_id) {
// verify taxonomies meta box nonce
if (!isset($_POST['service_meta_box_nonce']) || !wp_verify_nonce($_POST['service_meta_box_nonce'], basename(__FILE__))) {
return;
}
// return if autosave
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
return;
}
// Check the user's permissions.
if (!current_user_can('edit_post', $post_id)) {
return;
}
// store custom fields values
// Feature Title
if (isset($_REQUEST['services'])) {
update_post_meta($post_id, 'services', sanitize_text_field($_POST['service']));
}
}
add_action('save_post_service', 'service_save_meta_box_data');
Однако данные не сохраняются и не извлекаются в input
с.
Где я делаю ошибку?