根据日期和时间回显条件文本
Echo conditional text based on day and time
我有一些文本要根据一天中的时间和星期几回显。
星期一应该说在 13.00 到 17.00 之间:We zijn vandaag bereikbaar tot 17.00 uur。
星期二到星期五应该和上面说的一样,但是从 09.00 到 17.00。
周一 13:00 之前和周二至周五 9:00 以及 17:00 之后和周末应该说:We zijn momenteel gesloten。 Stuur en e-mail en we nemen z.s.m。联系我遇到了 op.
这是我为它创建的简码 (Wordpress):
date_default_timezone_set('Europe/Amsterdam');
function customer_service_phone (){
$dateOfWeek = date('w');
$time = date('H');
if ($dateOfWeek == '1' && $time > '13' && $time < '17') {
$availability = "We zijn vandaag bereikbaar tot 17.00 uur.";
} elseif ($dateOfWeek > '1' && $dateOfWeek < '6' && $time > '9' && $time < '17'){
$availability = "We zijn vandaag bereikbaar tot 17.00 uur.";
} else {
$availability = "We zijn momenteel gesloten. Stuur een e-mail en we nemen z.s.m. contact met je op.";
}
echo esc_attr( $availability );
}
add_shortcode ( 'availability_phone', 'customer_service_phone' );
这段代码并不完全有效。因为在 17.00 之后它仍然显示 17.00 之前的文本。
会是什么呢?我的服务器时间与我的时区是正确的,而且 Wordpress 设置中的时间也是相同的。时区是阿姆斯特丹。
希望有人能帮我解决这个问题。任何帮助,将不胜感激。
对不起,如果我解释得不够清楚。
亲切的问候,
瓦斯科
试试下面的代码。
function customer_service_phone (){
$dateOfWeek = date('N');
$time = date('H');
if ($dateOfWeek == '1' && $time >= '13' && $time < '17') {
$availability = "We zijn vandaag bereikbaar tot 17.00 uur.";
} elseif ($dateOfWeek > '1' && $dateOfWeek < '6' && $time >= '09' && $time < '17'){
$availability = "We zijn vandaag bereikbaar tot 17.00 uur.";
} else {
$availability = "We zijn momenteel gesloten. Stuur een e-mail en we nemen z.s.m. contact met je op.";
}
echo esc_attr( $availability );
}
add_shortcode ( 'availability_phone', 'customer_service_phone' );
我有一些文本要根据一天中的时间和星期几回显。
星期一应该说在 13.00 到 17.00 之间:We zijn vandaag bereikbaar tot 17.00 uur。
星期二到星期五应该和上面说的一样,但是从 09.00 到 17.00。
周一 13:00 之前和周二至周五 9:00 以及 17:00 之后和周末应该说:We zijn momenteel gesloten。 Stuur en e-mail en we nemen z.s.m。联系我遇到了 op.
这是我为它创建的简码 (Wordpress):
date_default_timezone_set('Europe/Amsterdam');
function customer_service_phone (){
$dateOfWeek = date('w');
$time = date('H');
if ($dateOfWeek == '1' && $time > '13' && $time < '17') {
$availability = "We zijn vandaag bereikbaar tot 17.00 uur.";
} elseif ($dateOfWeek > '1' && $dateOfWeek < '6' && $time > '9' && $time < '17'){
$availability = "We zijn vandaag bereikbaar tot 17.00 uur.";
} else {
$availability = "We zijn momenteel gesloten. Stuur een e-mail en we nemen z.s.m. contact met je op.";
}
echo esc_attr( $availability );
}
add_shortcode ( 'availability_phone', 'customer_service_phone' );
这段代码并不完全有效。因为在 17.00 之后它仍然显示 17.00 之前的文本。 会是什么呢?我的服务器时间与我的时区是正确的,而且 Wordpress 设置中的时间也是相同的。时区是阿姆斯特丹。
希望有人能帮我解决这个问题。任何帮助,将不胜感激。 对不起,如果我解释得不够清楚。
亲切的问候, 瓦斯科
试试下面的代码。
function customer_service_phone (){
$dateOfWeek = date('N');
$time = date('H');
if ($dateOfWeek == '1' && $time >= '13' && $time < '17') {
$availability = "We zijn vandaag bereikbaar tot 17.00 uur.";
} elseif ($dateOfWeek > '1' && $dateOfWeek < '6' && $time >= '09' && $time < '17'){
$availability = "We zijn vandaag bereikbaar tot 17.00 uur.";
} else {
$availability = "We zijn momenteel gesloten. Stuur een e-mail en we nemen z.s.m. contact met je op.";
}
echo esc_attr( $availability );
}
add_shortcode ( 'availability_phone', 'customer_service_phone' );