2021年2月13日 星期六

Wordpress 發布文章或頁面出現已錯過排程

過新年,

不及格研究室也搬新家,

部分自架 WordPress 的問題也在新站浮現,

除了請教其他高手以外,

也詢問了論壇上的其他人,

今天就來分享

Wordpress 發布文章或頁面出現已錯過排程

這問題遇到的人不少,

提供的解決的方式有五種

底下就是問題出現的紅字,

不管是發文或者新增頁面,

均會遇到"已錯過排程"的問題,

雖說是五種方法,

或許前幾種都能夠解決網友當時的狀況,

但最後一個方法才是本站使用的解決方案。


方法一  修改系統與 WordPress 時區

這個方法就是去修改 php.ini , wp-setting 中的時區設定,

將其改為目前的時區 Asia/Taipei ,

不過這改完 WordPress 的網站狀態檢查工具會出現警告。




方法二 安裝外掛


據說能夠解決此問題的外掛有兩個,

一個為 Scheduled Post Trigger 

另一個為 SchedulePress ,

不過在本站的案例中,

不是一個好的解決方案 ( 也就是無效 )。


方法三 修改 wp-config.php

據說在 wp-config.php 設定檔案中,

加入

define('ALTERNATE_WP_CRON', true);

就能夠解決此問題,

不過同樣不能解決本站問題。

方法四 修改 WordPress 核心以及佈景主題的原始碼

此種方法其實最不建議採用,

因為更新的時候會將這些修改的程式碼都覆蓋掉,

到時又需要再次修改。

方法五 重灌大法

如果有安裝 WP Super Cache

在其進階選項的最底下

可同時看到 UTC 與本地時間,

本站發生問題時,

WordPress 抓到的 UTC 與 本地時間都一樣,

均為本地時間。( 下圖為正常的網站應該看到的時間 )


其實"已錯過排程"這個問題就是因為 WordPress 的時間不對所造成,

由於 Wordpress 預設以 UTC 時間為預設值,

而 Ubuntu 20.04 在不改系統時間的前提下同樣使用 UTC 時區,

( 使用 AWS EC2 與 VPS 的一般都採 UTC 為預設時區 )

使用命令

timedatectl

查詢可看到如下的資訊

重灌之後,

都不修改系統時間直接安裝 WordPress 就不會再遇到 "已錯過排程"的問題。

 


沒有留言: