wordpressのショートコードを使って、指定の時間で消したり出したりできるようにする
wordpressのphpで出したり消したりするための関数のサンプルです。
よく「あれ?どうだったっけかな?」とかなるのでまとめ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
<?php /* * 指定の時間で削除する時 * $atts = array( * 'time' = '削除したい年月日' * ) * $content = '削除したい内容' */ function timeout_function( $atts, $content = null ) { extract( shortcode_atts( array( 'time' => '', ), $atts ) ); $html = $content; if($time){ $now_day = wp_date('Y/m/d'); $time_day = date('Y/m/d',strtotime($time)); if($now_day>=$time_day){ $html = ''; } } return $html; } add_shortcode('timeout', 'timeout_function'); /* * 指定の時間で表示させる * $atts = array( * 'time' = '表示したい年月日' * ) * $content = '表示したい内容' */ function startup_function( $atts, $content = null ) { extract( shortcode_atts( array( 'time' => '', ), $atts ) ); $html = ''; if($time){ $now_day = wp_date('Y/m/d'); $time_day = date('Y/m/d',strtotime($time)); if($now_day>=$time_day){ $html = $content; } } return $html; } add_shortcode('startup', 'startup_function'); |
あとは簡単、ワードプレスの記事の編集画面で「ビジュアル」ではなく「テキスト」に切り替え
[timeout=’2020/07/24′]
ここの内容は2020/07/24以降になります
[/timeout]
みたいに打てばオッケーです。
時間も混ぜたい場合は適度関数を修正して使用してください。
ちなみに「wp_date」を使用しているのでこの関数が動くのはwordpress 5.3以降になります。
それ以前のバージョンを使っている場合はdate関数などに置き換えましょう。
※その際はタイムゾーンに気を付けて必要に応じて「date_default_timezone_set(‘Asia/Tokyo’)」など使用してください。
WordPress