ブログで有名人や、著名人を紹介するときに誕生日を入れた場合、そのままだと、何年経っても歳をとらない。
そんな時に、スクリプトを使えば、自動的に更新してくれる。
本来はPHPが便利なのだが、WordPressでは、本文中にPHPを入れても実行しない。
プラグインを使用すれば問題が解決するのだが、いいのがない。
配布されている古いプラグインは、ショートコードで動作するのだが、編集する時に気をつけないと勝手に改行されたりするので厄介だ。
WordPressは、便利だが、余計なお世話のエディターが邪魔をする。
こんな時はjava scriptなら外部にスクリプトを置けるので便利だ。
テキストエディターで以下を書きUTF-8Nで適当な名前(例:birthday.js)を付けて保存。
function age(bymd){ today=new Date(); ty=today.getYear(); if(ty<1900) ty+=1900; tm=today.getMonth()+1; td=today.getDate(); tymd=ty*10000+tm*100+td; document.write(Math.floor((tymd-bymd)/10000)); } age(19740531);//age(誕生日を8桁の半角数字で記入する)
上の例は、誕生日が1974年5月31日の場合。
→age(19740531)というふうに8桁の半角数字で記入する。
投稿記事の△◻︎さん(◯歳)←の◯の部分でスクリプトを呼び出す。
△◻︎さん(<script type="text/javascript" src="http://yourhostname/js/birthday.js"/></script>歳)
なお、自動整形機能を無効にするには、テーマのfunction.phpに以下を追記する。
remove_filter('the_content', 'wptexturize'); // wptexturizeによる文字列変換をしない remove_filter('the_content', 'convert_chars'); // convert_charsによる文字列変換をしない
※注意)?>の一つ手前に追加すること。
コメント