• お世話になっております。

    WordPress 4.5.2で予約投稿を行ったのですが、投稿自体はされるのですが、
    例えば16:00に予約を行った際に16:00にページを確認しても公開されておらず、
    何度か再読み込みをおこなっていると1分から5分程度経って公開されます。

    いろいろなサイトを拝見して、wp-config.phpに「代替 cron」の設定を行ったり、「WP Missed Schedule Fix Failed Posts」のプラグイン等を入れてみましたが、逆に「投稿失敗」となったりしたため、結果的に前述の結果は以下の設定でおこなったものとなります。

    ・特にプラグインは入れない
    ・wp-config.phpも何も追記しない

    設定した時間通りに公開するためには上記以外で何か良い方法はございますか?

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • モデレーター のむらけい (Kei Nomura)

    (@mypacecreator)

    いろいろな情報を調べられた中でお読みになられたかもしれませんが、WordPressの予約投稿の仕組み、つまりwp-cronはそのWordPress自身へのアクセスがトリガーとなって動作しますので、たとえば認証がかかったサイトであったりとか、予約設定した時間にアクセスのないサイトの場合は正確な時刻に公開されません。

    ご相談のケースですと

    何度か再読み込みをおこなっていると

    という行為自体が、予約投稿を発動させるトリガーとなっている可能性が高いです。
    ですので、この行為を自動化してしまえば良いのではないかと考えます。

    サーバ側で用意されているCronを使って、正確な時刻にWordPressへのアクセスを行えばある程度はタイミングを改善できるのではないでしょうか。(サーバ側の時間が正確だという前提ですが)

    参考:wp-cron を正確な時刻で実行する – Qiita
    http://qiita.com/blogger323/items/6aed3bad7046f5769c7f

    トピック投稿者 adpseisaku

    (@adpseisaku)

    早々のご回答ありがとうございます。

    実はご回答をいただいたサーバ側のCronについても以前に行っておりました。
    ただ、その際はCronの時間を10分間隔にしておりました。今回は1分間隔にしてみました。

    何度か予約投稿を行ってみたところ、予約する時間によって10秒から60秒遅れで公開されました。
    当初の1分から5分程度よりは誤差の精度があがっているようには思いますが・・・

    ちなみにサーバ時間はローカルPCともピッタリ合っていることを確認しております。

    皆さんは予約投稿時に設定した時間で正確に投稿できていらっしゃるのでしょうか?

    モデレーター jim912

    (@jim912)

    WordPressの編集画面で設定できる時刻は分単位までですが、データベース上は秒単位まで保存されています。このため、データベース上での予約時間が50秒であった場合、感覚的には設定時間より1分ほど遅れるようになります。

    遅延を極力小さくするのであれば、同一の分、もしくは過去の時間であれば予約投稿を公開するスクリプトを作成し、サーバcronで毎分動作させるのがベストかと思います。

    WordPressのcronと予約投稿の仕組みは、それほど時間に厳密にはなっていません。

    トピック投稿者 adpseisaku

    (@adpseisaku)

    ご回答ありがとうございます。

    データベース上はが秒単位まで保存される件については知らなかったため大変勉強になりました。

    短絡的ではありますが、予約投稿の際に秒単位まで設定できれば・・・と思いましたが、他の記事を検索していたら以下の内容を見つけました。
    2年前くらいにやり取りされて未解決のままとなっているようでした。
    やはりこの件については現在でも難しいのでしょうか?

    https://ja.forums.wordpress.org/topic/113507

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「予約投稿の反映のタイミングについて」には新たに返信することはできません。