2016年7月26日火曜日

【備忘録】公開日時を投稿内容の任意の場所に表示させる方法(+有効期限を表示する方法)

WordPress.org 日本語版フォーラムでのやり取りで解決した内容です。
今後使うこともありそうなので、備忘録としてここに残しておきます。



公開日時を投稿の好きな場所に表示させる


テンプレートを利用する方法などいろいろ方法はありますが、もっとも単純かつ分かりやすい方法は、the_content に対するフック(割り込み)を利用して、特定文字を置換することです。「いや、ショートコード作れよ!」ってツッコミが入りそうです。うむ、ならば単なる備忘録じゃなくてショートコードでやってみますか!
フックを用いる方法は、上記フォーラムで提示したコードを参照してみてください。

■ functions.php に追加


function my_shortcode_getdate($atts) {
 global $post;
 extract(shortcode_atts(array(
        'format' => 'Y-m-d',
    ), $atts));

 return get_the_date($format, $post->ID);
}
add_shortcode('my_get_date','my_shortcode_getdate');

これでショートコード [my_get_date] が使えます。
デフォルトのフォーマットは、 Y-m-d (YYYY-MM-DD)です。
変更したい場合には
  • [my_get_date format="Y-m-d H:i:s"]
のように format オプションをつけて指定してみてください。
フォーマットについては、日付と時刻の書式(WordPress codex 日本語版)をご参考あれ!

Post Expirator プラグインで有効期限をつけた投稿内に有効期限を表示する



記事に有効期限を設けるプラグインはいくつかありますが、これはショートコードがあるので使えるかなと思います。設定を見る前にコードをみて発見したのですけど、
  • [postexpirator dateformat="Y-m-d" timeformat="H:i:s"]
のように使います。
[postexpirator] だけにした時、設定 > Post Expiratorの Defaults の Data Format と Time Formatが適応されます。

2016年7月26日 @kimipooh

0 件のコメント:

コメントを投稿