WordPressに独自のショートコードを追加するなどの機能拡張をする場合、functions.php
を編集することが一般的です。
WordPressで便利なプログラムを紹介してくれているブログ・Webサイトはたくさんありますが、functions.php
にどのように記述すればいいのか分からなくて不安という人もいるはずです。
そもそもfunctions.php
をどこから編集できるか分からない人もいるでしょう。
今回は、WordPressのfunctions.php
はどこから編集できるのか、function.php
のどこに書き加えたらいいのか解説していきます。
functions.phpの編集方法
functions.phpはWordPress管理画面の[外観] -> [テーマファイルエディター]
、もしくは[ツール] -> [テーマファイルエディター]
から開けます。
初めてテーマファイルエディターを開いた場合は、確認メッセージが表示されることがありますが、読み飛ばして構いません。

理解しました
をクリック初期状態ではstyle.css
が開かれているので、右側のファイルツリーからテーマのための関数(functions.php)
を選択してください。

すると、functions.php
の編集画面が表示されます。
表示されたfunctions.php
のどこに新しいプログラムを書き加えればいいのかという点ですが、基本的には一番下までスクロールして、最後の行から追記していきます。

上記画像で例えると、152行目以降に新しいプログラムを追記していきます。
ではカンタンな練習として、以下のサンプルをコピーして、functions.phpの末尾に追記し、ファイルを更新
を押してみてください。
add_filter('the_content', function($content){
if(is_user_logged_in()){
return "<p>ログインユーザーしか見れないテキスト</p>{$content}";
}
return $content;
});

functions.php
を変更して保存(更新)したら、何でもいいので記事ページにアクセスしてみてください。
先ほどfunctions.php
に追記したサンプルプログラムによって、記事本文の先頭にログインユーザーしか見れないテキスト
というテキストが追加されたはずです。

このように、functions.php
の末尾にどんどんプログラムを追記していくことによって、プラグインを使わずにWordPressの機能を拡張できるようになります。
functions.phpを編集する場合は子テーマを使用すること
functions.php
を編集する場合、子テーマを利用することが一般的です。
テーマは定期的にバージョンアップが行われていますが、テーマのバージョンアップを行うとfunctions.phpに書き加えた変更が全てなくなってしまいます(バージョンアップ時に新しいfunctions.phpで上書きされるため)。
この問題を防ぐためにWordPressには子テーマという機能があり、子テーマを使うことでバージョンアップの問題を回避できます。

子テーマがないテーマを使用している場合、手作業で作成することもできますが、プラグインを使ったほうがカンタンです。
子テーマが配布されていないテーマを使っている場合はプラグインを使って子テーマを作成すると良いでしょう。
