【カスタマイズ】WordPressのfunctions.phpとは?基礎から徹底解説!

2021.07.31
安藤 大海
目次

はじめに

Wakka Inc.のWebディレクターの安藤です。
今日は基礎編としてWordPressのカスタマイズでよく使うfunction.phpについてご説明します。

WordPressのテーマには、functions.phpというファイルが必ず含まれています。テーマを構成している重要なファイルで、WordPressサイトをカスタマイズする際に必ず聞くファイル名です。

まだWordPressに慣れていない方の中には、functions.phpが重要とされる理由やどのような役割を担っているのか知らない人もいるのではないでしょうか。しっかりと把握することができれば、カスタマイズをするときにその知識が必ず役立つはずです。

そこで、今回はfunctions.phpの基本概要やできること、5つの機能拡張テクニックについて解説しますのでぜひご覧ください。

WordPressのfunctions.phpとは?

『functions.php』とは、WordPressの機能を拡張したり、変更したりできるファイルです。WordPress特有のファイルと言っても差し支えないでしょう。基本的には、PHPやテーマに組み込まれている関数を呼び出し、独自の関数を定義するケースが多いです。また、functions.phpで定義した変数はグローバル変数になります。そのため、テンプレート内であれば、ほかのファイルから呼び出しをすることも可能です。

functions.phpはテーマファイルの中で1番はじめに読み込まれるという特徴を持ちます。そのため、何かを出力するコードを書くことはありません。また、その特徴を活かし、テーマの初期化も行うことが可能です。

functions.phpはテーマのどこにあるの?

functions.phpはテーマファイルの中にあります。WordPressのデフォルトテーマ「Twentyシリーズ」の場合、functions.phpがある場所はtwentytwentyoneフォルダー内です。スタイルシートやindex.phpと同じ階層になります。

編集方法をチェックしよう!

編集方法は大まかにわけて2つあります。具体的な方法は下記です。

・ファイルを直接編集する

・管理画面から編集する

それぞれの編集方法について解説します。

ファイルから直接編集する方法

ファイルから直接編集する場合、テーマフォルダーに直接アクセスして変更を加えます。Atomなどエディタを使用するのが一般的です。また、テスト環境の場合、テキストエディタなどで開いて編集することができます。

管理画面から編集する方法

管理画面から編集する場合の手順は下記の通りです。

1.管理画面のサイドバーから「外観」→「テーマエディター」をクリックします。

2.右側のテーマファイルの中からfunctions.phpを選択してください。

3.赤枠のエディター内で編集することができます。

functions.phpでできること

functions.phpでできることは、下記の3つです。

・ショートコードの作成ができる

・クイックボタンの追加と削除ができる

・ログイン画面のカスタマイズができる

それぞれのできることについて詳しく解説します。

ショートコードの作成

1つ目がショートコードの作成です。ショートコードとは、WordPress内でコードを呼び出すことができる機能を意味します。つまり、同じコードを記事や固定ページで使いまわしができるというわけです。タイトルの呼び出しやパーマリンクの取得を短いコードで実現できるので作業効率がアップします。

ショートコードはfunctions.php内で関数を定義・追加し、記事の投稿画面等でショートコードを呼び出すのが一般的です。関数の定義の仕方とショートコードの例は下記の通りになります。

<関数の定義>

function 関数名(){処理}
add_shortcode('ショートコード名' , '関数名')

<ショートコード>

[ショートコード名]

クイックボタンの追加及び削除

2つ目はクイックボタンの追加と削除です。クイックボタンとは、投稿画面のビジュアルエディター上部にあるボタンのことを意味します。投稿画面には、「b」や「i」、「img」などのボタンが並んでいるのを一度は見たことがある方も多いのではないでしょうか。これがクイックボタンです。

クイックボタンを定義することで、記事の作成が楽になります。例えば、重要な部分にオレンジ色のマーカーを引きたい場合、その都度コードを書くのは不便です。そこで登場するのがクイックボタンになります。オレンジ色のマーカーを引くことができるクイックボタンをあらかじめ定義しておけば、強調したい文字を選択し、クイックボタンをクリックするだけでオレンジ色のマーカーで文字が装飾されるのです。

記事を投稿する際、同じCSSコードを使い回す機会は非常にたくさんあります。もし、装飾の時間を短縮することができれば、その時間を記事の執筆に割り当てることが可能です。これにより、投稿作業の効率化を期待することができるでしょう。

クイックボタンの追加は、functions.php内で関数を定義し、アクションを追加するだけで実現可能です。具体的な方法は下記の通りです。

function 関数名(){

QTags.addButton( id, display, arg1, arg2, access_key, title, priority, instance );

}

add_action('admin_print_footer_scripts', '関数名')

また、クイックボタンはAddQuicktagという有名なプラグインで作成することができます。管理画面からTHMLやCSSコードを追加するだけで実現することができるので、できるだけプラグインを使ったほうが便利でしょう。

ログイン画面のカスタマイズ

3つ目はログイン画面のカスタマイズです。ログイン画面は、管理画面にログインする際にユーザー名やパスワードを入力する画面のことになります。具体的には下記のようなカスタマイズをすることが可能です。

・CSSコードでロゴや背景、入力フォームなどの装飾

・ロゴのリンク先の変更

・ログインエラー時の処理

クイックボタンやショートコードと同様に、関数を定義してアクションを追加すればカスタマイズできます。

function 関数名(){

処理

}

add_action( 'login_enqueue_scripts', '関数名' );

functions.phpを使った3つの機能拡張テクニック

サイトの運用をはじめる前に、functions.phpであらかじめ拡張しておいたほうがいい機能が3つあります。拡張することで運用の負担が減るので、ぜひ参考にしてください。

投稿ページのみアイキャッチ画像を追加する

固定ページは会社情報やお問い合わせ、事業情報など1ページで完結します。また、投稿ページとは、内容が異なるため、アイキャッチ画像が設置されると好ましくないケースも多いです。そのため、アイキャッチ画像は投稿ページのみ適用されるように設定します。

add_theme_support('post-thumbnails',array('post'));

そうすることで、アイキャッチ画像が全体に適用されなくなるので、固定ページの作成がしやすくなるでしょう。

絵文字を削除する

WordPressには、標準で絵文字機能が内蔵されています。しかし、絵文字を表示するためには、一つ一つ変換しなければなりませんので、表示速度に影響を与えてしまうのです。表示速度が低下すると検索順位に影響を与えますので、アクセス数を増やしたいのであれば極力避けるのが好ましいでしょう。絵文字の削除はfunctions.phpに下記のように記述します。

remove_action('wp_head', 'print_emoji_detection_script', 7);

remove_action('wp_print_styles', 'print_emoji_styles');

remove_filter('comment_text_rss', 'wp_staticize_emoji');

remove_filter('wp_mail', 'wp_staticize_emoji_for_email');

remove_action('admin_print_styles', 'print_emoji_styles');

remove_filter('the_content_feed', 'wp_staticize_emoji');

remove_action('admin_print_scripts', 'print_emoji_detection_script');

アドミンバーを非表示

アドミンバーを非表示にすると、実際に読者がホームページを見る画面と同じになるので便利です。アドミンバーは管理バーとも呼ばれています。

削除方法は下記の通りです。

function disable_admin_bar(){

return false;

}

add_filter( 'show_admin_bar' , 'disable_admin_bar');

アドミンバーを消すためにプラグインを入れる方もいます。しかし、上記のコードで簡単に削除できるため、容量を増やさないためにも直接コードで入力するのがおすすめです。

functions.phpをカスタマイズしてWordPressサイトの機能を拡張しよう

今回は、基礎編としてfunctions.phpの概要やできること、拡張しておきたい機能について解説しました。WordPressをアレンジする際、必ずコードを入力するファイルになるので、触る機会も多いです。そのため、できることや定義の仕方を知っておくと非常に役立つでしょう。

弊社ではオフショアラボ型開発を通じて、サイトの開発から運用保守までトータルサポートしています。
WordPressやサイト制作でお困りのことがありましたら、ぜひお気軽にご相談ください。

この記事を書いた人
安藤 大海

学生時代にWebサイトを自作したことがきっかけでWebの世界に。制作会社でデザイン、WordPressテーマ開発の実務を経て、テクニカル・ディレクターとして大規模サイト構築のディレクションを経験。2021年からWakka Inc.の日本拠点でWebディレクターとして参画。最近はブロックエディタになったWordPressをもう一度、勉強しています。

  • ホーム
  • ブログ
  • 【カスタマイズ】WordPressのfunctions.phpとは?基礎から徹底解説!
Contacts

Wakkaについて詳しく知りたい方はこちら