My Gravity forms creates a Woocommerce order but I want to exclude a certain form

Current code function gravity_form_submitted($entry) , $form){if(is_user_logged_in()){$user_id = get_current_user_id

Current code

function gravity_form_submitted($entry) //, $form)
{
if(is_user_logged_in()){
    $user_id = get_current_user_id();
} else {
    //session_start();
    $user_id = $_SESSION['new_user_id'];
}

$priority = rgar( $entry, 42 ); //gform field_id referring to priority
$tokens_purchased = explode('|', rgar( $entry, 43)); //gform field_id 
referring to item purchased (product_id from woocommerce)
$coupon = rgar($entry, 45);

$token = new Tokens();

if($tokens_purchased[0] !== 'account'){
    $order = new Order();
    $order_id = $order->newOrder($user_id, $tokens_purchased[0], $coupon);
    $token->addTokens($order_id);
}

$token->removeTokens($user_id, $priority);

$arg = array(
    'ID' => $_SESSION['new_post_id'],
    'post_author' => $user_id,
);
wp_update_post( $arg );

//Clear session
unset($_SESSION['new_post_id'], $_SESSION['new_user_id']);
}
add_action('gform_after_submission', 'gravity_form_submitted', 10, 2);

I tried using the gform_is_value_match to exclude a certain post from the woocommerce order creation but I can't find the hook to exclude post ID

Does anyone know how to exclude post ID from order creation?

Current code

function gravity_form_submitted($entry) //, $form)
{
if(is_user_logged_in()){
    $user_id = get_current_user_id();
} else {
    //session_start();
    $user_id = $_SESSION['new_user_id'];
}

$priority = rgar( $entry, 42 ); //gform field_id referring to priority
$tokens_purchased = explode('|', rgar( $entry, 43)); //gform field_id 
referring to item purchased (product_id from woocommerce)
$coupon = rgar($entry, 45);

$token = new Tokens();

if($tokens_purchased[0] !== 'account'){
    $order = new Order();
    $order_id = $order->newOrder($user_id, $tokens_purchased[0], $coupon);
    $token->addTokens($order_id);
}

$token->removeTokens($user_id, $priority);

$arg = array(
    'ID' => $_SESSION['new_post_id'],
    'post_author' => $user_id,
);
wp_update_post( $arg );

//Clear session
unset($_SESSION['new_post_id'], $_SESSION['new_user_id']);
}
add_action('gform_after_submission', 'gravity_form_submitted', 10, 2);

I tried using the gform_is_value_match to exclude a certain post from the woocommerce order creation but I can't find the hook to exclude post ID

Does anyone know how to exclude post ID from order creation?

Share Improve this question asked Jun 10, 2019 at 12:13 Tom HutchisonTom Hutchison 231 silver badge4 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 0

Try this :

add_action( 'gform_after_submission', 'gravity_form_submitted', 10, 2 );

function gravity_form_submitted($entry, $form)
{
  if($form['id'] != "exclude_form_id")//if multiple you can check not in array
     { 
        //your order generation code
     }
}

Form Object $form

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745371939a4624834.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信