【问题标题】:wp_insert_post once a user buys a WooCommerce membership subscription用户购买 WooCommerce 会员订阅后的 wp_insert_post
【发布时间】:2019-06-19 15:02:29
【问题描述】:

一旦用户购买了 WooCommerce 会员订阅(用户角色“订阅者”),我正在尝试在我的自定义帖子类型“vipmembers”中创建一个新帖子。下面的代码只允许我在用户是客户时添加新帖子(即当用户注册时),但我希望仅在用户购买 WooCommerce 会员订阅产品时添加帖子(即当用户角色是订阅者时) .

任何帮助将不胜感激。

add_action( 'user_register', 'membership_import', 10, 1 );
function membership_import( $user_id ) {
  if($user_id){
    $args = array(
      'post_type'     => 'vipmembers',
      'meta_query'    => array(
        array(
          'key'       => 'user_id',
          'value'     => $user_id,
          'compare'   => '='
        )
      )
    );

    $users_exists = get_posts( $args );
    $author_obj = get_user_by('id', $user_id);
    $roles = $author_obj->roles;
    $post = array(
      'post_title' => wp_strip_all_tags($author_obj->user_login),
      'post_status' => 'publish',
      'post_type' => 'vipmembers'
    );
    if(empty($users_exists)){
      $post_ID = wp_insert_post($post);
      update_post_meta($post_ID, 'user_id',$user_id);
      update_post_meta($post_ID, 'user_email',$author_obj->user_email);
    }
  }
} 

【问题讨论】:

    标签: php woocommerce woocommerce-memberships


    【解决方案1】:

    总之解决了,只是改了

    add_action( 'user_register', 'membership_import', 10, 1 );
    function membership_import( $user_id ) {
    

    add_action( 'woocommerce_thankyou', 'membership_import');
    function membership_import( $order_id ) {
    

    :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-09
      • 2019-06-15
      • 2015-01-28
      • 2011-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多