よくプラグインの説明サイトを読んでいると、「functions.phpにこんなことを書くとこんなこともできますよ!」みたいな説明が多いんですよね。
当時神戸大学家庭教師会ファイトのサイトを作成していた私は、
「なんかよくわからんプログラミング言語出てきた!!ワシにはキツイ!!!」
となって、少し落ち着いてから、
「functions.phpに貼り付けたらええねんな!!でfunctions.phpってどこやねん!!!!」
となり苦戦しました・・・
ということで、どなたでもわかるようにfunctions.phpについて解説したいと思います!!
ーfunctions.phpは何なのかー
functions.phpは、「テーマ関数」の一つです。関数、というと頭が痛くなるかもしれませんが、簡単に言うとプログラムです。
「テーマ」のプログラムを決めているものがfunctions.phpなので、「プラグイン」とは関係がなさそうです。
すなわち、プラグインの更新でfunctions.phpが変化してしまう、上書きされてしまうなんてことはないということです。
プログラマの方でない限り、自分でfunctions.phpに何かを書く、なんてことはする必要がありませんが上記のように「functions.phpにこれこれをコピペしたらいいよ!」というときに開くことがあります。
今回は、練習のためWP-Members というプラグインを使いやすくするために以下のコードをfunctions.phpにコピペしていこうと思います。
add_filter( 'wpmem_login_redirect', 'my_login_redirect', 10, 2 );
function my_login_redirect( $redirect_to, $user_id ) {
return '遷移先URL';
}
これは、WP-Membersで会員制サイトを作成する際、ログイン後に指定URLに飛ばす機能です。こちらについては会員サイトを作るにはやっぱり WP-Membersをご覧ください。
さて、では上のコードをコピーしてfunctions.phpを探す旅に出ましょう。
ーfunctions.phpを探しに行こうー
まず、あなたが契約しているレンタルサーバーのマイページに入ってください。
私はロリポップ!を使用していますのでこちらの画面になります。
次に「サーバーの管理設定」からロリポップ!FTPをクリックして、ログインしてください。
他のレンタルサーバの方は、「FTP」という文字列を探して、クリックしてください。
すると、このような画面が出てきます。私は、fight-group.work のほかにfight-group.work/katekyoにもwordpressをインストールしているので一番上がkatekyo となっています。
もしあなたが編集したいサイトが~~~.comであればトップにあるwp-contentを、~~~.com/katekyo のようにドメインのあとにもまだURLが続いているものであれば、「katekyo」をクリックしてください.
今回はkatekyoをクリックします.
すると、またwp-content が出てきますから、クリックします.
するとこんな感じで出てきますから、「themes」をクリック。functions.phpはテーマ関数でしたね。
インストールしているテーマがすべて出てきます。
「今」使用しているテーマをクリックしてください。どのテーマを使用しているかわからない時は、Wordpressの管理画面から、「外観」→「テーマ」からわかります。
さて、よくわからないファイルがたくさん出てきますが・・・ありますね!「functions.php」!
「functions.php」をクリックします。
ファイルの内容が出てきます。プログラミングの天才ではないので意味は分からなくてもOK!何も考えず一番下の列まで移動します。(スクロールします)
さて、一番最後に来ました。一番最後の行から2~3行間隔をあけて・・・
先ほどのコードを貼り付けます!!「遷移先URL」となっていたところを、自分が遷移してほしいURLに書き換えて・・・保存します!!
ここで注意するのが、どれをペーストしたのか把握しておくこと!!!(今回は下から4行分ですね)
では、自分のホームページに戻って、期待した機能が追加されているか確認しましょう。無事上手くできていればOK!
「いや・・・なんか真っ白になった・・・管理画面すら行けなくなった・・・」
と絶望してしまった方はいませんか???大丈夫です!!!!
FTPに戻り、先ほどペーストしたものを削除し、保存してください。
このとき、ペーストした部分を覚えていないと削除しちゃNGのところも消してしまったりしてより悪化するんですよ(経験談)
削除して保存すると元通りに戻っていると思います。改めてコピペが完璧にできていたか確認してください。よくある事例が{}などをコピーし忘れたり、全部コピーしてたつもりができてなかったりしています。
いかがでしたか?「このプラグイン、ここさえこんな機能だったら完璧なのにな~~~」って時にfunctions.phpにコピペすると最高の働きをしてくれることがとても多いです!!
ぜひ「functions.phpにコピペして機能増やすマン」になってくださいね!!!!
それではまた今度~~~