如果 WordPress 站點的文章定時發布功能總是失敗,可能有以下幾種原因和解決方法:
-
定時任務沒有啟用:在 WordPress 後台管理介面中,前往「設定」→「常規」頁面,檢查「WordPress 地址(URL)」和「網站地址(URL)」是否正確配置。如果不正確,WordPress 將無法正常啟動定時任務。確保網站的「WordPress 地址(URL)」和「網站地址(URL)」設定正確,以便 WordPress 能夠正常使用自己的功能。同時,需要確認 WordPress 安裝所在的伺服器能夠正常連接外部網路,否則 WordPress 將無法執行定時任務。
-
Cron 服務沒有運行:WordPress 的定時任務需要 Cron 服務來運行。如果 Cron 服務未啟用,WordPress 站點的定時發布功能將會失敗。可以透過終端執行以下命令來檢查 Cron 服務是否已經運行:
1
ps aux | grep cron
如果輸出中有類似於
/usr/sbin/cron -f
的內容,則表示 Cron 服務已在運行。如果沒有輸出或者輸出中沒有此進程,則需要執行以下命令來啟動 Cron 服務:1 2
sudo service crond start sudo service crond status #查看 Crond 啟動狀態
-
WP-Cron 沒有正確配置:WP-Cron 是 WordPress 內建的一個計畫任務管理器,如果 WP-Cron 沒有正確配置,則定時發布功能將會失敗。可以透過將以下代碼添加到
wp-config.php
文件中來禁用 WP-Cron:1
define('DISABLE_WP_CRON', true);
然後,使用終端執行以下命令來配置 Cron 服務,輸入
crontab -e
然後切換到輸入模式,輸入以下內容:1
*/5 * * * * /usr/bin/php -q /path/to/wordpress/wp-cron.php >/dev/null 2>&1
注意一定要在命令行手動執行
usr/bin/php -q /path/to/wordpress/wp-cron.php
以確認沒有問題。如果沒有錯誤則代表一切正常,若有錯誤則依據錯誤進行解決。其中,
*/5 * * * *
表示每五分鐘執行一次,/usr/bin/php -q /path/to/wordpress/wp-cron.php
是需要執行的命令。請將/path/to/wordpress
替換為你的 WordPress 安裝目錄的路徑。 -
定時任務隊列堆積:如果站點有大量未執行的定時任務,可能會導致新的定時任務無法被執行。可以使用 WP-CLI 工具清理過期的定時任務:
1
wp cron event run --due-now
執行以上命令可以立即執行所有已逾期但未執行的定時任務。同時,你還可以添加一個計畫任務,定期清理過期的定時任務。
通過排除以上幾種因素,應該能夠解決 WordPress 定時發布失敗的問題。