我正在使用wordpress中的woocommerce插件设计在线产品商店。但现在我想说客户只能在早上9点到12点之间以及晚上4点到8点之间订购产品,那么我该怎么办呢?
答案 0 :(得分:0)
许多解决方案,您可以禁用网关,以便客户无法购买(然后更改默认消息)
add_filter( 'woocommerce_payment_gateways', 'disable_gateway_time', 99, 1 );
function custom_gateway( $gateways ){
$current_time = date('H');
// If ok return $gateways
if ( ( $current_time > 9 && $current_time < 12 ) || ( $current_time > 16 && $current_time < 18 ) )
return $gateways;
// Else return empty array
return array();
}
或者你也可以使用另一个钩子来显示错误信息(如果语句可以简化)
add_action('woocommerce_checkout_process', 'custom_checkout_process' , 99);
function my_custom_checkout_field_process() {
// You can make your own control here
$current_time = date('H');
if ( ! (( $current_time > 9 || $current_time < 12 ) && ( $current_time > 16 || $current_time < 18 )) )
wc_add_notice( __( 'The store is closed' ), 'error' );
}
别忘了在php ini上检查你的时区,或者你可以在date()函数之前添加。
date_default_timezone_set( 'Europe/Paris' );