Обновление настраиваемого поля не работает должным образом

У меня есть пользовательский код для обновления настраиваемого поля из внешнего интерфейса. Он загружает данные правильно, но когда я пытаюсь изменить / обновить пользовательское поле, происходит ошибка. Он обновляет мета-значение, но имеет больше значений. Это мета значения:

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", но когда я изменяю или обновляю их, происходит ошибка.

Я надеюсь, что кто-то может помочь и или объяснить мне, что я делаю неправильно, потому что у меня нет знаний, чтобы понять это.

0 ответов

Другие вопросы по тегам