だいたいの原因突き止め
予約投稿はwp-cron.phpを実施することで公開される。
なので、wp-cron.php周りがうまく動いてるかどうかを動作チェックする。
wp-cron.phpをサーバ内からアクセスができるか
シェルログインができるなら下記
command
wget http://xxx.com/{wordpress設置ディレクトリ}/wp-cron.php
401が返ってくる場合、アクセス制限がある可能性があるのでその周りチェック、ベーシック認証とか。
最悪、.htaccessに条件付きでアクセスできるように指定すれば200にはなるはず
.htaccess
<Files wp-cron.php>
order deny,allow
deny from all
Allow from xxx.xxx.xxx.xxx #サーバのIP
Satisfy Any
</Files>
wp-cronを無効にする記述をfunctions.phpで記述してないかチェック
何らかの事情でwp-cronを無効化してる記述がある場合はうごかん(そりゃそーだ
functions.php
define('DISABLE_WP_CRON', 'true');
どうしても上記を記入して運用しなくちゃいけない場合は、cronでcron.phpを実行する記述を行う。
cron
0-59/1 * * * * root wget http://xxx.com/wp-cron.php?doing_wp_cron 1>/dev/null 2>/dev/null
いまのとここのどっちかで解決。
プラグインで対応ってのもあるけど、根本解決ではないのでこの辺チェックで。