亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

動態開放時間短代碼始終顯示已關閉

動態開放時間短代碼始終顯示已關閉

PHP
肥皂起泡泡 2021-11-26 14:41:22
我創建的短代碼有問題,用于拉取商店的營業時間并根據營業時間數組顯示“營業”或“營業”狀態。我讓它工作了,所以我曾經想過,但它似乎已經停止工作了。替代方法要么不起作用,要么只是標記了錯誤。我希望將其設置為歐洲/倫敦時間戳,因為該商店僅位于英國。有什么想法我可能在這里做錯了嗎?在此期間,我會繼續努力,但對我來說似乎很奇怪。我知道我使用的原始代碼基于這里的舊帖子(大約 6 歲),所以我想知道它是否可能是過時的 PHP。我們的服務器運行的是 PHP 7。//open/closing timesfunction opening_times() {ob_start();$storeSchedule = ['Sun' => ['10:00 AM' => '15:00 PM'],'Mon' => ['10:00 AM' => '17:00 PM'],'Tue' => ['10:00 AM' => '17:00 PM'],'Wed' => ['00:00 AM' =>  '00:00 AM'],'Thu' => ['10:00 AM' => '17:00 PM'],'Fri' => ['10:00 AM' => '17:00 PM'],'Sat' => ['09:00 AM' => '17:00 PM']];// current OR user supplied UNIX timestamp$timeObject = new DateTime('Europe/London');$timestamp = $timeObject->getTimeStamp();// default status$status = 'closed';// get current time object$currentTime = (new DateTime())->setTimestamp($timestamp);// loop through time ranges for current dayforeach ($storeSchedule[date('D', $timestamp)] as $startTime => $endTime) {// create time objects from start/end times$startTime = DateTime::createFromFormat('h:i A', $startTime);$endTime   = DateTime::createFromFormat('h:i A', $endTime);// check if current time is within a rangeif (($startTime < $currentTime) && ($currentTime < $endTime)) {    $status = 'open';    break;    }}echo '<div><i class="far fa-clock fa-3x"></i><span class="open-times"><small>We are ' . $status . '</small><br>';return ob_get_clean();}add_shortcode( 'open_times', 'opening_times' );它在某種程度上起作用,因為狀態不斷顯示為“已關閉”,如果商店未開放,這應該是默認狀態。它只是不再在任何時候顯示為“打開”狀態。當它符合開放時間的標準時,它應該顯示為“開放”。
查看完整描述

1 回答

?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

不知道為什么你選擇在你自己創建的數組中使用 AM 和 PM 時間格式,但基本上沒有17:00 PM它應該是5:00 PM所以只需修復你的數組,代碼就會工作。


問題是試圖17:00 PM從這一行創建一個 DateTime ?;旧厦看味际?。


$endTime   = DateTime::createFromFormat('h:i A', $endTime);

所以只需修復您的數組以使用有效時間,代碼就會起作用。


$storeSchedule = [

    'Sun' => ['10:00 AM' => '03:00 PM'],

    'Mon' => ['10:00 AM' => '05:00 PM'],

    'Tue' => ['10:00 AM' => '05:00 PM'],

    'Wed' => ['00:00 AM' => '00:00 AM'],

    'Thu' => ['10:00 AM' => '05:00 PM'],

    'Fri' => ['10:00 AM' => '05:00 PM'],

    'Sat' => ['09:00 AM' => '05:00 PM']

];


查看完整回答
反對 回復 2021-11-26
  • 1 回答
  • 0 關注
  • 199 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號