投稿に公開期限を設定する

WordPressでは公開日時を未来の日時にすることで予約投稿を行うことができますが、公開期限を設定することは標準ではできません。

公開期限を設定するには、下記のいずれかで設定します。

プラグインなしで設定する

プラグインなしで設定する場合は、下記のようにします。

1. functions.phpに下記のように記載します。

このコードは確認用として「公開日時の5分後に非公開にする」というものになっています。このまま使うものというよりは、これが動作するかどうかを確認してから変更を加えていきます。

2. 必要な変更を行います。

やりたいこと 変更
「公開日時の30日後に非公開にしたい」 +5 minutes」の部分を「+30 days」にします。
「公開日時の月末に非公開にしたい」 +5 minutes」の部分を「last day of this month」にします。
「公開日時の翌月の1日に非公開にしたい」 +5 minutes」の部分を「first day of next month」または「first day of +1 month」にします。
「公開日時の翌月の月末に非公開にしたい」 +5 minutes」の部分を「last day of next month」または「last day of +1 month」にします。

プラグインではないため、PHPが分かれば自分のやりたいことに合わせていろいろな変更が加えていけると思います。(カスタムフィールドと連携するなど)

予定の確認

予定が設定されているかどうかは、「WP Crontrol」というプラグインで確認すると便利です。WP Crontrolをインストール・有効化している場合、「ツール」>「Cron Events」から予定が設定されているかがどうかわかります。

(1を記載してテスト投稿を公開したあと、Hook Nameが「post_expire」になっている行があればOKです。Argumentsの「[7181]」となっているところは投稿のIDです)

プラグインで設定する (Post Expirator)

プラグインの「Post Expirator」を使うと、管理画面上で簡単に公開期限の設定ができます。

※あらかじめPost Expiratorをインストールし、有効化してください。日本語化の方法は「Post Expiratorを日本語化する」を参考にしてください。

  1. 管理画面から公開期限の設定をしたい投稿を開きます。
  2. 「表示期限の設定をする」にチェックし、期限日時を設定します。
  3. 「公開」や「更新」で投稿を保存します。

 

その他

下記はプラグインなしの場合でもあり(Post Expirator)の場合でも起こる可能性があります。(基本的な仕組みがどちらも同じため)

  • 動作が9時間ずれる場合は「設定」>「一般」の「タイムゾーン」が「東京」になっているか確認してみてください。
  • Basic認証が設定されている場合は期限を設定しても動作しません。(→参考)

コメント

内容の誤りなどがありましたら下記からご連絡をお願いします。頂いたコメントは基本的に公開されることはありません(必要な場合は個別に返信させて頂きます)。

CAPTCHA