1

我有一个自定义代码来从前端更新自定义字段。它正确加载数据,但是当我尝试更改/更新自定义字段时,它出错了。它更新了元值,但它有更多的值。这些是元值:

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”,但是当我更改或更新它们时,它会出错。

我希望有人可以帮助或解释我做错了什么,因为我没有知识来解决它。

4

0 回答 0