У меня есть пользовательский код для обновления настраиваемого поля из внешнего интерфейса. Он загружает данные правильно, но когда я пытаюсь изменить / обновить пользовательское поле, происходит ошибка. Он обновляет мета-значение, но имеет больше значений.
Это мета значения:
sp_metrics'a:3:{s:15:"ledennummerknvb";s:5:"12659";s:6:"height";s:1:"5";s:6:"weight";s:1:"5";}'
Когда я пытаюсь обновить «ledennummerknvb», он идет ужасно неправильно.
Вот код, который я использую для создания настраиваемого поля:
function your_function_name( $form_id, $post_id, $form_settings ) {
$value = '';
if ( $post_id ) {
$metrics = get_post_meta( $post_id, 'sp_metrics', true );
$ledennummerknvb = $metrics['ledennummerknvb'];
}
?>
<div class="wpuf-label">
<label>Ledennummer KNVB</label>
</div>
<div class="wpuf-fields">
<input type="text" name="my_custom_field" value="<?php echo( $ledennummerknvb ); ?>">
</div>
<?php
}
add_action( 'my_brand_new_hook', 'your_function_name', 10, 3 );
function update_my_brand_new_hook( $post_id ) {
if ( isset( $_POST['my_custom_field'] ) ) {
update_post_meta( $post_id, 'sp_metrics', $_POST['my_custom_field'] );
}
}
add_action( 'wpuf_add_post_after_insert', 'update_my_brand_new_hook' );
add_action( 'wpuf_edit_post_after_update', 'update_my_brand_new_hook' );
Поэтому, когда я обновляю настраиваемое поле, оно перезаписывает каждое значение, плюс мне возвращается результат только с 1 числом. Например, теперь вы видите в «ledennummerknvb» числа «12659», но когда я изменяю или обновляю их, происходит ошибка.
Я надеюсь, что кто-то может помочь и или объяснить мне, что я делаю неправильно, потому что у меня нет знаний, чтобы понять это.
Задача ещё не решена.
Других решений пока нет …