自己紹介を作成している際に年齢を記載しようと思いましたが、直書きしてしまうと永遠の25才になってしまいます。
そのため、生年月日から年齢を自動で表示する方法について紹介します。
function.phpの修正
PHPファイルの権限変更
管理画面から外観→テーマエディタを選択しテーマのための関数 (functions.php)を選択します。
初期設定のままだと、画面下部に変更を保存するにはこのファイルを書き込み可能にする必要があります。と表示されています。
このままだとfunction.phpは編集することが出来ないため、ファイルの権限変更をする必要があります。
サーバーに入りWordPressをインストールしたディレクトリ(DocumentRoot)まで移動します。
その直下の/wp-content/themes/各自使用しているテーマ名の下にfunction.phpがあるので、移動してファイルが存在する事を確認してください。
RinaxHomeの例:/wp-content/themes/catch-responsive
CentOSの場合、下記コマンドでファイルの権限を変更します。
1 |
chmod 606 function.php |
また今回の作業が一通り終わったら、ファイルの権限を戻してあげる事を忘れないでください。
1 |
chmod 644 function.php |
再度、管理画面からテーマのための関数 (functions.php)を開くと画面下部に更新ボタンが表示されたかと思います。
関数の追加
権限の変更が出来たら、次は関数を追加します。
function.phpの一番下に次のコードを追加して、更新ボタンを押してください。
1 2 3 4 5 6 7 |
//Start -年齢自動計算- function autoage($day) { extract(shortcode_atts(array('day' => 'day'), $day)); return (int) ((date('Ymd')-$day)/10000); } add_shortcode('birth', 'autoage'); //End -年齢自動計算- |
設定内容の詳細については下記のコメントアウト文を参考にしてください。
1 2 3 4 5 6 7 |
//Start -年齢自動計算- function autoage($day) { //autoageという関数を定義し、引数dayを受け取る extract(shortcode_atts(array('day' => 'day'), $day)); //連想配列に設定されたキーと値を、新たな変数に格納 return (int) ((date('Ymd')-$day)/10000); //int型の戻り値に、計算結果を返す } add_shortcode('birth', 'autoage'); //記事内にbirthと記載されたらautoage関数を実行する //End -年齢自動計算- |
これでfunction.phpの設定については完了しました。
記事内での使用方法
投稿ページでも固定ページでも使用出来ますが、作成画面を開き[]の中にbirth day=”指定したい生年月日“を記載してください。
プレビューで表示すると、年齢が自動計算され表示されているのが確認出来ました。
まとめ
これで永遠の25才にならずに済みました。
いかに運用が簡単であるかを考えながら、今後もホームページ作成をしていければなと思います^^