WordPress

WordPress:如何解決文章排程失效的方法

最近剛從 Blogger 轉成用 WordPress,所以很多功能其實都還在試,剛好就被我試到文章排程失效,上網查了一下,這個問題其實很多人都有遇過,沒想到我才剛轉移就遇到了 ORZ。

解決方法

一、找到 WordPress 的資料夾

在我的雲端主機中 WordPress,是放在 wp 裡面

二、找兩個檔案 wp_config.php、cron.php

路徑分別為:

  • wp\wp-cron.php
  • wp-includes\cron.php

三、在 wp_config.php 加入以下程式碼

/** Solve problem about WordPress scheduled post */
define('ALTERNATE_WP_CRON', true);

加入位置看圖,或是直接加在最後面也可以

四、在 cron.php 更改程式碼

先搜尋 $cron_request = apply_filters 這行,找到之後把 timeout 改成 0.01 —> 20.00

$cron_request = apply_filters(
        'cron_request',
        array(
            'url'  => add_query_arg( 'doing_wp_cron', $doing_wp_cron, site_url( 'wp-cron.php' ) ),
            'key'  => $doing_wp_cron,
            'args' => array(
                'timeout'   => 20.00,
                'blocking'  => false,
                /** This filter is documented in wp-includes/class-wp-http-streams.php */
                'sslverify' => apply_filters( 'https_local_ssl_verify', false ),
            ),
        ),
        $doing_wp_cron
    );

我目前 WordPress 的版本是 5.7.1,大概在第 900 行那邊可以找到這串程式碼

結語

雖然之前有簡單用過 WordPress,像是如何架設、安裝之類的,但從來都沒有認真研究裡面到底有哪些功能,直到真的想認真寫些文章,開始測試就遇到排程失效的問題。 解決方法似乎很多,看到有些人只改其中一種檔案就可以,我自己是要兩種都要改才行,也有人是直接加自己的程式碼,可能跟安裝的外掛有關吧,才會每個人狀況都不一樣

留下一個回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *