首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何制作带有自定义帖子类型+和结帐页面的woocommerce商店页面

如何制作带有自定义帖子类型+和结帐页面的woocommerce商店页面
EN

Stack Overflow用户
提问于 2018-06-04 03:47:28
回答 1查看 214关注 0票数 -1

我正在分享3个屏幕,一步一步将通过woocommerce。我有一个商店的页面。在选择产品时,我将转到用于创建帖子的前端表单。创建帖子后,我将转到结帐页面。

我的问题是,我可以在woocommerce平台上获得中间的表单(用于创建帖子的前端表单)吗?

请看我的共享屏幕,以便更好地理解它。

谢谢

第一个屏幕

第二个屏幕

第三个屏幕

EN

回答 1

Stack Overflow用户

发布于 2018-06-04 08:45:36

我的问题是,我可以在woocommerce平台上获得中间的表单(用于创建帖子的前端表单)吗?

当然可以,但您必须将步骤2中的数据保存在当前会话(购物车)中。仅当创建订单时,收集会话数据并创建(custom_post_type)职位发布。您不希望在订单完成/支付之前创建职位发布。

你的问题很笼统,所以你可以得到一个类似的答案。我们不会在这里构建完整的插件。您将需要使用多个钩子来完成此操作。

编辑:更多信息

@步骤2,收集、清理和验证表单值。我会将这些数据保存在购物车会话中。如下所示:

代码语言:javascript
复制
// I don't know how and where you collect the step 2 data,
// so i can't provide a hook for this function.

function step_2_data_to_session() {
  global $woocommerce;
  $step_two_data = array();

  // validate and sanitize data first

  // save data to woocommerce session
  $woocommerce->session->set('step_two_data', $step_two_data );
}

然后,当用户支付并创建订单时,使用钩子收集会话数据并将其保存到您的客户帖子类型。

代码语言:javascript
复制
add_action('woocommerce_checkout_update_order_meta', 'new_order', 10, 2)
function new_order($order_id,  $data) {
  global $woocommerce;

  // At this point the order is created and the session data is still alive.

  if(! is_admin() ) {
    $step_two_data = $woocommerce->session->get('step_two_data');
    if($step_two_data) {
      $args = array(
        'post_author' => get_current_user_id(),
        'post_title' => 'The Job title here',
        'post_type' => 'job',
        'post_status' => 'publish'
      );
      $new_job_post_id = wp_insert_post($args);
      if($new_job_post_id) {
        // Job post is saved now..
        // Now you'll probably want to add step_two_data as meta data to the post.
      }
    }
  }
}

注意:我还没有测试这段代码,错误处理没有包括在内,等等。这只是一个在创建订单时如何保存会话数据的指针。

您还需要做更多的工作,例如,我看到工作列表有一个设定的截止日期。我会使用cron-job每天检查哪些工作必须删除,使用相同的cron我还会通知客户他们的工作帖子‘将在2天内删除’等等;-)

致敬,Bjorn

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50670377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档