我有一个自定义代码来从前端更新自定义字段。它正确加载数据,但是当我尝试更改/更新自定义字段时,它出错了。它更新了元值,但它有更多的值。这些是元值:
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”,但是当我更改或更新它们时,它会出错。
我希望有人可以帮助或解释我做错了什么,因为我没有知识来解决它。