由於 #BloomerArmada 粉絲的 WooCommerce 片段請求不斷來到我的收件箱,現在是發佈非常有用的功能的時候了。

今天,我們將看到如何拒絕向給定的帳單電子郵件地址購買,如果這是一個用户,並且恰好有一個待處理訂單!

PHP 代碼段:如果用户有待處理訂單,拒絕結帳| WooCommerce

  /**   * @snippet       Deny Checkout to User With Pending Orders | WooCommerce     * @sourcecode    https://businessbloomer.com/?p=55387   * @author        Rodolfo Melogli   * @testedwith    WooCommerce 3.0.5   */    add_action('woocommerce_after_checkout_validation', 'bbloomer_deny_checkout_user_pending_orders');    function bbloomer_deny_checkout_user_pending_orders( $posted ) {  global $woocommerce;  $checkout_email = $posted['billing_email'];  $user = get_user_by( 'email', $checkout_email );    if ( ! empty( $user ) ) {  $customer_orders = get_posts( array(          'numberposts' => -1,          'meta_key'    => '_customer_user',          'meta_value'  => $user->ID,          'post_type'   => 'shop_order', // WC orders post type          'post_status' => 'wc-pending' // Only orders with status "completed"  ) );  foreach ( $customer_orders as $customer_order ) {          $count++;  }  if ( $count > 0 ) {  	wc_add_notice( 'Sorry, please pay your pending orders first by logging into your account', 'error');  }  }    }    


可以在哪裏添加此代碼?

您可以將 PHP 代碼片段放置在主題或子主題的 functions.php 文件的底部(如果是 CSS 代碼,請添加到主題的 style.css 文件底部),修改之前建議先備份原始文件,若出現錯誤請先刪除此代碼。


這段代碼是否正常可用?

或者是您有更好的解決方案想要分享?請到薇曉朵 WooCommerce 中文論壇留言告知,我們希望可以幫到更多國內的 WooCommerce 用户也希望您的參與。


需要關於 WooCommerce 的幫助?

請觀看我們提供的免費視頻教程或到薇曉朵 WooCommerce 中文論壇提問,會有專業技術團隊提供相關幫助。