cf7 提交 WP 后更新用户元数据
Update user meta after cf7 submit WP
我想在 cf7 表单提交后从用户元中减去 1。我有这个功能,但它不起作用:
$user_id = get_current_user_id();
add_action( 'wpcf7_before_send_mail', 'process_contact_form_data' );
function process_contact_form_data( $contact_data ){
$user_last = get_user_meta( $user_id, 'QuestionAvailiable', true );
$user_last_sum = $user_last - 1;
update_user_meta( $user_id, 'QuestionAvailiable', $user_last_sum);
}
QuestionAvailiable
表单提交后还是3,不是2。怎么了?
当前用户 ID 由隐藏的 meta
字段通过表单传递,这些字段可通过方法 get_meta(field)
访问
这应该适合你。
add_action( 'wpcf7_before_send_mail', 'process_contact_form_data' );
function process_contact_form_data( $contact_data ) {
$user_last = get_user_meta( $contact_data->get_meta( 'current_user_id' ), 'QuestionAvailiable', true );
$user_last_sum = absint( $user_last ) - 1;
update_user_meta( $contact_data->get_meta( 'current_user_id' ), 'QuestionAvailiable', $user_last_sum );
}
作为参考,以下是 $contact_form
对象可用的元字段,它是 wpcf7_before_send_mail
挂钩的第一个参数。
array(
'timestamp' => integer,
'remote_ip' => string,
'remote_port' => integer,
'user_agent' => string,
'url' => 'current_url',
'unit_tag' => string,
'container_post_id' => integer,
'current_user_id' => integer,
'do_not_store' => bool,
);
我想在 cf7 表单提交后从用户元中减去 1。我有这个功能,但它不起作用:
$user_id = get_current_user_id();
add_action( 'wpcf7_before_send_mail', 'process_contact_form_data' );
function process_contact_form_data( $contact_data ){
$user_last = get_user_meta( $user_id, 'QuestionAvailiable', true );
$user_last_sum = $user_last - 1;
update_user_meta( $user_id, 'QuestionAvailiable', $user_last_sum);
}
QuestionAvailiable
表单提交后还是3,不是2。怎么了?
当前用户 ID 由隐藏的 meta
字段通过表单传递,这些字段可通过方法 get_meta(field)
这应该适合你。
add_action( 'wpcf7_before_send_mail', 'process_contact_form_data' );
function process_contact_form_data( $contact_data ) {
$user_last = get_user_meta( $contact_data->get_meta( 'current_user_id' ), 'QuestionAvailiable', true );
$user_last_sum = absint( $user_last ) - 1;
update_user_meta( $contact_data->get_meta( 'current_user_id' ), 'QuestionAvailiable', $user_last_sum );
}
作为参考,以下是 $contact_form
对象可用的元字段,它是 wpcf7_before_send_mail
挂钩的第一个参数。
array(
'timestamp' => integer,
'remote_ip' => string,
'remote_port' => integer,
'user_agent' => string,
'url' => 'current_url',
'unit_tag' => string,
'container_post_id' => integer,
'current_user_id' => integer,
'do_not_store' => bool,
);