まず、多くの方のWordPressを知るきっかけは、ホームページを作りたいと思ったからだと思います。
その動機は、アフィリエイトがやりたいとか、自分の持っている技術をアピールしたいとか、自社商品を売りたいとか、様々でしょう。
WordPressに出会えば、ホームページを持つという最初の目的は簡単に達成出来ます。
しかし、その後、WordPressをもっと知りたい、ホームページのレイアウトや機能を修正したいと思う方も少なからず、いらっしゃるでしょう。
このブログでは、そういった方のヘルプも行いたいと思っています。
そこで、何か技術的なことを紹介しようとした場合、どうしても子テーマを作って、「functions.php」を修正することになってしまいます。
これは「functions.php」を説明しておかないと、前に進めないということになりました。
【PR】「Theme3」では、企業サイトのWordPressベーステーマに、100%GPLテーマ「 Arkhe 」をオススメしています。
「 Arkhe 」は高機能有料プラグイン「 Arkhe Pro Pack 」と連携することによって利便性とカスタマイズ性の両立が可能です。制作・マーケのプロの方に是非!
「Arkhe」の詳細を見る
「Arkhe Pro Pack」(サブスク版)を購入する
「Arkhe Pro Pack」には以下が含まれています。「Arkhe Blocks Pro」と「Arkhe Toolkit」には買い切り版もあります。
・Arkhe Blocks Pro
・Arkhe Toolkit
・Arkhe CSS Editor
functions.phpとは
functionの意味を調べると
ということが分かります。
WordPressでもこの意味で使われており「functions.php」は機能に関係したphpファイルです。
面白いのはWordPressがページをブラウザーに表示する際には必ず読み込まれるということです。
つまり、この「functions.php」に何かを記載しておけば、必ずページに反映されます。
【PR】「Theme3」では、ブログ用のWordPressテーマに、人気と高機能を誇る「 SWELL 」をオススメしています。
・ブロックエディター完全対応
・高速化機能を標準搭載
・100%GPL
・企業サイトの制作も可能 他、機能多数。
関数を記載する場所
先ほど「何か」と書きましたが、「functions.php」には関数を書きます。
関数とは決まった処理をさせるための命令の集まり
意味を書いても分かりにくいので、実例を示します。
このページは「STORK19 」というテーマで表示されています。
このテーマは子テーマも同時に配布されています。
その子テーマを見れば最もシンプルな「functions.php」が分かっていただけると思います。
【PR】「Theme3」では、企業サイトのWordPressベーステーマに、100%GPLテーマ「 Arkhe 」をオススメしています。
「 Arkhe 」は高機能有料プラグイン「 Arkhe Pro Pack 」と連携することによって利便性とカスタマイズ性の両立が可能です。制作・マーケのプロの方に是非!
「Arkhe」の詳細を見る
「Arkhe Pro Pack」(サブスク版)を購入する
「Arkhe Pro Pack」には以下が含まれています。「Arkhe Blocks Pro」と「Arkhe Toolkit」には買い切り版もあります。
・Arkhe Blocks Pro
・Arkhe Toolkit
・Arkhe CSS Editor
STORK19の子テーマの内容
STORK19の子テーマファイルは「jstork19_custom」フォルダーに入っています。
- functions.php
- screenshot.png
- style.css
- yarpp-template-relative.php
functions.php | 関数のテンプレートファイル |
screenshot.png | 子テーマのスクリーンショット。WordPressの管理画面「外観」→「テーマ」で参照できます。 |
style.css | 子テーマを装飾する(ページのデザインを決める)cssファイル |
yarpp-template-relative.php | 関連記事に関係するファイル。私は子テーマでこのファイルを初めて見ました。他社のテーマでは見たことがありません。 |
問題の「functions.php」の中を見てみましょう。
<?php
// 子テーマのstyle.cssを後から読み込む(削除禁止)
add_action( 'wp_enqueue_scripts', 'stk_add_child_stylesheet' );
function stk_add_child_stylesheet() {
wp_enqueue_style( 'stk_child-style',
get_stylesheet_directory_uri() . '/style.css',
array('stk_style')
);
}
// カスタマイズでコードを追記する場合はここよりも下に記載してください
解説
「add_action( ‘wp_enqueue_scripts’, ‘stk_add_child_stylesheet’ );」はアクションフックといわれるもので、簡単に説明すると
WordPressがスクリプト読み込みを行う際(’wp_enqueue_scripts’を実行する際)に「stk_add_child_stylesheet」の内容も処理してね。
という指示です。
「function stk_add_child_stylesheet()」以降が関数です。
親テーマのCSS ID「stk_style」の下に子テーマのCSS IDを「stk_child-style」 として、子テーマフォルダーの中の「style.css」を読み込んでね。
ということが書いてあります。
実際にページのHTMLは以下のようになります。
<link rel='stylesheet' id='stk_style-css' href='https://www.theme3.net/wp-content/themes/jstork19/style.css?ver=3.18.1' type='text/css' media='all'/>
<style id='stk_style-inline-css' type='text/css'>
<!-- インラインCSSの記述省略 -->
</style>
<link rel='stylesheet' id='stk_child-style-css' href='https://www.theme3.net/wp-content/themes/jstork19_custom/style.css' type='text/css' media='all'/>
親テーマのstyle.cssの次に子テーマのstyle.cssが読み込まれています。
まとめ
以上のようにWordPressに何かしてもらいたいときに、関数を書くのが「functions.php」です。
親のテーマに変更を加えたいときには、必ず使用します。
ここでは以下の2点を覚えておいてください。
functions.php
- ページを表示する際に必ず実行されるphpファイルです。
- WordPressに何かを処理させたいときに命令を書きます。
以下の記事で、ワードプレステーマTCDのWordPressテーマ「EGO.」の子テーマ作成を検証しています。あわせて「functions.php」の使い方を確認してください。
fuction = 「機能」「関数」