WooCommerce:通过自定义插件向wishlist添加一些列表

时间:2016-08-15 17:05:16

标签: wordpress

我有自定义插件,可以让用户首次向Wishlist插件(Woocommerce)添加列表。

我有自定义的分步表单,用户可以选择列表的数量(从1到10),并输入这些新列表的标题和说明。

我的表单的最后一步有Ajax请求。

如何将这些列表添加到数据库?

我正在尝试通过wp_insert_post($ my_post)添加,但我也应该为postmeta表添加设置。

2 个答案:

答案 0 :(得分:1)

您可以将表单结果另存为custom post type,结果为custom fields

将帖子类型设置为不公开,不设置为不在搜索结果中。

如果愿望清单上没有逻辑,您可以将数据设置为数组,并将其serialized保存在一个字段中。

要将数据从前端(用户页面)发送到后端(服务器),您可以使用wp ajax adminwp-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));