2017-03-19 5 views
2

フォームを介して製品が正常に追加されたとき、それは同じページにとどまり、「製品追加」という通知が表示されますが、別のページにリダイレクトします製品が正常に追加された後はexample.com/userのようになります。どのように私はこれを達成することができますか分からないのですか?通知を表示するのではなく、別のページにリダイレクト

製品フォームコントローラ:

public function process_submit() { 

     if (! isset($_POST[ '_wcv-save_product' ]) || !wp_verify_nonce($_POST[ '_wcv-save_product' ], 'wcv-save_product') || !is_user_logged_in()) { 
      return; 
     } 

     $can_submit_live  = WC_Vendors::$pv_options->get_option('can_submit_live_products'); 
     $current_post_status = isset($_POST[ 'post_status' ]) ? $_POST[ 'post_status' ] : ''; 
     $can_edit_approved  = WC_Vendors::$pv_options->get_option('can_edit_approved_products'); 
     $trusted_vendor   = (get_user_meta(get_current_user_id(), '_wcv_trusted_vendor', true) == 'yes') ? true: false; 
     $untrusted_vendor  = (get_user_meta(get_current_user_id(), '_wcv_untrusted_vendor', true) == 'yes') ? true: false; 

     if ($trusted_vendor) $can_submit_live = true; 
     if ($untrusted_vendor) $can_submit_live = false; 




    $text = array('notice' => '', 'type' => 'success'); 

    if (isset($_POST[ 'post_id' ]) && is_numeric($_POST[ 'post_id' ])) { 

     $post_id = $this->save_product((int) ($_POST[ 'post_id' ])); 

     if ($post_id) { 

      $view = get_permalink($post_id); 

      if (isset($_POST[ 'draft_button' ])) { 

       if ($can_submit_live) { 
        $text[ 'notice' ] = sprintf(apply_filters('wcv_product_draft_msg', __('Product draft saved.', 'wcvendors-pro')), $view); 
       } else { 
        $text[ 'notice' ] = sprintf(apply_filters('wcv_product_draft_saved_msg', __('Product draft saved, pending review.', 'wcvendors-pro')), $view); 
       } 

      } else { 

       if ($can_submit_live) { 
        $text[ 'notice' ] = sprintf(apply_filters('wcv_product_updated_msg', __('Product Updated. <a href="%s">View product.</a>', 'wcvendors-pro')), $view); 
       } elseif($can_edit_approved && 'pending' !== $current_post_status && 'draft' !== $current_post_status) { 
        $text[ 'notice' ] = sprintf(apply_filters('wcv_product_updated_msg', __('Product Updated. <a href="%s">View product.</a>', 'wcvendors-pro')), $view); 
       } else { 
        $text[ 'notice' ] = sprintf(apply_filters('wcv_product_review_msg', __('Product submitted for review. <a href="%s">Preview product.</a>', 'wcvendors-pro')), $view); 
       } 
      } 


     } else { 
      $text[ 'notice' ] = apply_filters('wcv_product_edit_problem_msg', __('There was a problem editing the product.', 'wcvendors-pro')); 
      $text[ 'type' ] = 'error'; 
     } 

    } else { 

     $post_id = $this->save_product(); 

     $view = get_permalink($post_id); 


     if ($post_id) { 
      if (isset($_POST[ 'draft_button' ])) { 
       if ($can_submit_live) { 
        $text[ 'notice' ] = sprintf(apply_filters('wcv_product_draft_msg', __('Product draft saved.', 'wcvendors-pro')), $view); 
       } else { 
        $text[ 'notice' ] = sprintf(apply_filters('wcv_product_draft_saved_msg', __('Product draft saved, pending review.', 'wcvendors-pro')), $view); 
       } 
      } else { 
       if ($can_submit_live) { 
        $text[ 'notice' ] = sprintf(apply_filters('wcv_product_added_msg', __('Product Added. <a href="%s">View product.</a>', 'wcvendors-pro')), $view); 
       } else { 
        $text[ 'notice' ] = sprintf(apply_filters('wcv_product_review_msg', __('Product submitted for review. <a href="%s">Preview product.</a>', 'wcvendors-pro')), $view); 
       } 
      } 
     } else { 
      $text[ 'notice' ] = apply_filters('wcv_product_add_problem_msg', __('There was a problem adding the product.', 'wcvendors-pro')); 
      $text[ 'type' ] = 'error'; 
     }    
    } 

    wc_add_notice($text[ 'notice' ], $text[ 'type' ]); 
+0

http://stackoverflow.com/questions/2112373/php-page-redirect – baranskistad

答えて

1

あなたfunctions.phpファイルでこのコードブロックを追加します。

/** 
* Redirect users after add to cart. 
*/ 
function my_custom_add_to_cart_redirect($url) { 
    $url = get_permalink('/page'); // URL to redirect 
    return $url; 
} 
add_filter('woocommerce_add_to_cart_redirect', 'my_custom_add_to_cart_redirect'); 

希望これはあなたを助けます!

関連する問題