我有自定义插件,可以让用户首次向Wishlist插件(Woocommerce)添加列表。
我有自定义的分步表单,用户可以选择列表的数量(从1到10),并输入这些新列表的标题和说明。
我的表单的最后一步有Ajax请求。
如何将这些列表添加到数据库?
我正在尝试通过wp_insert_post($ my_post)添加,但我也应该为postmeta表添加设置。
答案 0 :(得分:1)
您可以将表单结果另存为custom post type,结果为custom fields。
将帖子类型设置为不公开,不设置为不在搜索结果中。
如果愿望清单上没有逻辑,您可以将数据设置为数组,并将其serialized保存在一个字段中。
要将数据从前端(用户页面)发送到后端(服务器),您可以使用wp ajax admin或wp-rest api
将字段保存到自定义帖子类型示例。可能是您的网站中的字段名称不同,因此根据您的字段键
设置// Create post object
$my_post = array(
'post_title' => wp_strip_all_tags( $_POST['post_title'] ),
'post_content' => $_POST['post_content'],
'post_status' => 'publish',
'post_author' => 1,
'post_category' => array( 8,39 ),
'post_type' => 'event'
);
// Insert the post into the database
$post_id = wp_insert_post( $my_post );
// Updating the meta data (custom fields values)
if ( isset( $_POST['_wishlist_email'] ) ) {
update_post_meta( $post_id, '_wishlist_email', sanitize_text_field( $_POST['_wishlist_email'] ) );
}
有关saving custom fields in docs
的更多信息如果此愿望清单来自现成的插件,您可以查看插件代码,了解插件如何处理保存的心愿单数据。
答案 1 :(得分:1)
我找到了:
WC_Wishlists_Wishlist::create_list($tittle));