Здравствуйте. Есть дополнительные поля для постов. Похожие на эти:
<input type="text" name="custom-field[0][field-type-0] value="value" />
<input type="text" name="custom-field[1][field-type-0] value="value" />
<input type="text" name="custom-field[2][field-type-1] value="value" />
<input type="text" name="custom-field[3][field-type-1] value="value" />
Для сохранения использую такую функцию:
function custom_field_save( $post_id ) {
if ( !isset($_POST['custom_field_nonce']) || !wp_verify_nonce($_POST['custom_field_nonce'], plugin_basename( __FILE__ ) ) ) return false;
if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) return false;
if ( !current_user_can('edit_post', $post_id) ) return false;
if( !isset($_POST['custom-field']) ) {
delete_post_meta($post_id, 'custom-field');
} else {
update_post_meta($post_id, 'custom-field', $_POST['custom-field']);
}
}
add_action( 'save_post', 'custom_field_save' );
В базу данных записывается:
array(4) {
[0]=>
array(1) {
["field-type-0"]=>
string(5) "value"
}
[1]=>
array(1) {
["field-type-0"]=>
string(5) "value"
}
[2]=>
array(1) {
["field-type-1"]=>
string(5) "value"
}
[3]=>
array(1) {
["field-type-1"]=>
string(5) "value"
}
}
Можно ли так сохранять или надо использовать foreach для сохранения?