【问题标题】:Time based Enable/Disable WooCommerce add to cart functionality基于时间的启用/禁用 WooCommerce 添加到购物车功能
【发布时间】:2018-05-02 14:42:47
【问题描述】:

我正在寻找一种方法来做到这一点:

  • 从周一到周日下午 5 点到下午 2 点,添加到购物车启用,在此之前或之后,添加到购物车按钮需要禁用。

  • 在星期二整整一天,商店关门,因此添加到购物车功能被禁用。

我发现这个 sn-p 禁用添加到购物车但没有时间和日期规范:

/**
 * @snippet       WooCommerce Holiday/Pause Mode
 * @how-to        Watch tutorial @ https://businessbloomer.com/?p=19055
 * @sourcecode    https://businessbloomer.com/?p=20862
 * @author        Rodolfo Melogli
 * @testedwith    WooCommerce 2.6.4
 */

// Trigger Holiday Mode
add_action ('init', 'bbloomer_woocommerce_holiday_mode');

// Disable Cart, Checkout, Add Cart
function bbloomer_woocommerce_holiday_mode() {
    remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
    remove_action( 'woocommerce_proceed_to_checkout', 'woocommerce_button_proceed_to_checkout', 20 );
    remove_action( 'woocommerce_checkout_order_review', 'woocommerce_checkout_payment', 20 );
    add_action( 'woocommerce_before_main_content', 'bbloomer_wc_shop_disabled', 5 );
    add_action( 'woocommerce_before_cart', 'bbloomer_wc_shop_disabled', 5 );
    add_action( 'woocommerce_before_checkout_form', 'bbloomer_wc_shop_disabled', 5 );
}

// Show Holiday Notice
function bbloomer_wc_shop_disabled() {
    wc_print_notice( 'Our Online Shop is Closed Today :)', 'error');
} 

我的英文不好,但希望你能帮帮我。

【问题讨论】:

    标签: php wordpress woocommerce


    【解决方案1】:

    这里有一些东西可以帮助您入门,这段代码将检查今天是否是星期二,如果是,则添加到购物车功能将被禁用。

    function bbloomer_woocommerce_holiday_mode() {
    
        $disable_cart = my_wc_disable_add_to_cart();
    
        if( $disable_cart ) {
            remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
            remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
            remove_action( 'woocommerce_proceed_to_checkout', 'woocommerce_button_proceed_to_checkout', 20 );
            remove_action( 'woocommerce_checkout_order_review', 'woocommerce_checkout_payment', 20 );
            add_action( 'woocommerce_before_main_content', 'bbloomer_wc_shop_disabled', 5 );
            add_action( 'woocommerce_before_cart', 'bbloomer_wc_shop_disabled', 5 );
            add_action( 'woocommerce_before_checkout_form', 'bbloomer_wc_shop_disabled', 5 );
        }
    }
    
    function my_wc_disable_add_to_cart() {
        // Tuesday is day number 2 of the week
        $day_of_week = date("w", current_time());
    
        if( $day_of_week === 2 )
            return true;
    
        return false;
    }
    

    这将是一个类似的过程,添加其他时间标准来启用/禁用购物车。

    【讨论】:

      【解决方案2】:

      我正在尝试编写自己的 sn-p,这就是我目前所取得的成就:

      add_action( 'wp_head', 'disable_checkout_sunday' );
      function disable_checkout_sunday(){
      if (date(D) == "Sun"){
      remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');
      remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart');
      remove__action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_login_form');
      remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form');
      remove_action( 'woocommerce_checkout_order_review', 'woocommerce_order_review');
      remove_action( 'woocommerce_checkout_order_review', 'woocommerce_checkout_payment');
      
       }
      }
      

      【讨论】:

        猜你喜欢
        • 2019-06-19
        • 1970-01-01
        • 2018-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-02
        • 2014-01-01
        • 1970-01-01
        相关资源
        最近更新 更多