WordPressで記事やページの一部に公開期限を設定するショートコード

WordPressで記事を書くときに公開日時を未来に設定すれば予約投稿ができます。また、Post Expiratorのようなプラグインを使えば公開終了する日時を設定することもできます。
しかし、これはあくまで記事単位なので、記事の一部分だけに指定日時に表示して指定日時に非表示にするといった公開期間を設けたいってときに使えるショートコードを作ってみました。

function.php

以下をfunction.phpに追記します。

現在日時と入力した日時を比較しているだけでたいして難しくはないですが、WordPressでは時間を取得する際にdate_i18n()を使わないと世界標準時を取得してしまいます。最初はそれに気づかずdate()を使っていたのでしばらく迷いました。

記事や固定ページ内に記述

startは表示を開始する日時、endは表示を終了する日時を入力します。
startのみ、endのみでも動作します。

テンプレートに記述する場合

テンプレートに記述する場合には普通にPHPを使います。

開始日時のみ設定する場合

終了日時のみ設定する場合

開始・終了日時両方を設定する場合

date_i18nをdateに変えればWordPress以外でも使えます。

COMMENT

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA