我创建了一个插件,管理员可以在其中创建预订表单并将其分配给用户。
当用户访问其帐户时,他们会看到分配给他们的所有表单的列表。点击表单链接将其带到表单 - 表单链接在链接中有一个查询变量,即yoursite.com/booking-form/?booking-id=[FORM ID NUMBER]
我已对此页面进行了编码,以便从表单ID中获取表单的信息。
表单完成并提交后,我想更新数据库wp_postmeta表中的结果。该字段被称为“wedding_hidden_is_completed'当提交表单时,我希望将值更改为' 1' (目前是空的)
我使用以下代码更新我的数据库:
if (isset($_POST['submit_booking_form'])) {
$wpdb->update(
'wp_postmeta',
array(
'wedding_hidden_is_completed' => 1,
),
array(
'post_id' => $booking_form_id,
)
);
}
$ booking_form_id变量在页面的前面使用以下代码设置,该代码从url查询字符串中获取值:
$booking_form_id = get_query_var( 'booking-id' );
但是,当我提交表单时,我的字段不会更新。有原因吗?
答案 0 :(得分:0)
除非必须,否则不应使用WPDB全局。 Wordpress为此提供了一个简单的功能。只要预订是一个帖子。
update_post_meta( $booking_form_id, 'wedding_hidden_is_completed', '1' );