WordPress functions.phpとは?場所・書き方・編集前の注意点を初心者向けに徹底解説

はじめに

WordPressでサイトを運営していると、「functions.phpにコードを追加してください」「functions.phpを編集すれば実装できます」といった説明を目にすることがあります。

しかし、初心者にとっては「functions.phpとは何なのか」「どこにあるのか」「間違って編集しても大丈夫なのか」がわかりにくいファイルでもあります。

functions.phpは、WordPressテーマに機能を追加したり、既存の動作を変更したりできる重要なPHPファイルです。便利な反面、書き方を間違えるとサイトが表示されなくなることもあります。

この記事では、WordPressのfunctions.phpについて、役割・場所・基本的な書き方・よく使われるカスタマイズ例・編集前の注意点・エラー時の対処法まで、初心者向けにわかりやすく解説します。

1. WordPress functions.phpとは?初心者向けに役割をわかりやすく解説

1-1. functions.phpはテーマに機能を追加・変更するためのPHPファイル

functions.phpとは、WordPressテーマに用意されているPHPファイルのひとつです。

PHPとは、WordPressを動かすために使われているプログラミング言語です。functions.phpにコードを書くことで、テーマの機能を追加したり、WordPressの表示や動作をカスタマイズしたりできます。

たとえば、以下のようなカスタマイズができます。

・アイキャッチ画像を有効化する
・独自のショートコードを追加する
・CSSやJavaScriptを読み込む
・不要な機能を無効化する
・管理画面の表示を変更する
・投稿画面に独自の項目を追加する

functions.phpは、簡単にいうと「テーマ専用の機能追加ファイル」です。

WordPress本体を直接編集せずに、テーマ側で独自の処理を追加できるため、WordPressカスタマイズではよく使われます。

1-2. WordPress本体・テーマ・プラグインとの違い

functions.phpを理解するには、WordPress本体・テーマ・プラグインとの違いを知っておくとわかりやすくなります。

WordPress本体は、記事投稿、固定ページ、ユーザー管理、コメント、メディア管理など、WordPressの基本機能を動かしている中心部分です。通常、WordPress本体のファイルを直接編集することはありません。アップデート時に変更が上書きされたり、サイト全体に大きな不具合が出たりする可能性があるためです。

テーマは、サイトの見た目やテンプレートを管理するものです。デザイン、レイアウト、記事ページの表示、ヘッダーやフッターなどはテーマによって決まります。

プラグインは、WordPressに機能を追加するための拡張機能です。お問い合わせフォーム、SEO対策、セキュリティ対策、バックアップ、キャッシュなど、テーマに依存しない機能を追加するときによく使われます。

functions.phpはテーマの中にあるファイルなので、テーマに紐づいたカスタマイズを行う場所です。

つまり、functions.phpは「テーマに付属する小さなプラグインのような役割」を持っています。ただし、プラグインとは異なり、テーマを変更するとそのテーマのfunctions.phpは使われなくなります。

1-3. functions.phpでできることの代表例

functions.phpでできることは多くあります。代表的な例を見てみましょう。

まず、テーマの機能を有効化できます。たとえば、アイキャッチ画像、カスタムロゴ、メニュー、HTML5マークアップなど、WordPressテーマに必要な機能を追加できます。

次に、表示内容を変更できます。記事一覧の表示件数を変えたり、抜粋文の文字数を調整したり、投稿ページに独自の情報を出力したりできます。

また、CSSやJavaScriptの読み込みにも使われます。WordPressでは、テーマファイルに直接CSSやJavaScriptの読み込みタグを書くよりも、functions.phpで適切に読み込む方法が推奨されます。

さらに、ショートコードを追加することも可能です。ショートコードを作成すると、投稿本文や固定ページ内に短いコードを書くだけで、あらかじめ用意したHTMLや処理を呼び出せます。

そのほか、管理画面のカスタマイズ、不要な機能の無効化、ログイン画面の調整、投稿タイプの追加、ウィジェットエリアの登録などにも使われます。

1-4. functions.phpを編集するとサイト全体に影響する理由

functions.phpは、テーマが読み込まれるときに自動的に実行されるファイルです。そのため、functions.phpに書いたコードは、サイト全体の動作に影響します。

たとえば、functions.phpに構文エラーがあると、トップページだけでなく、投稿ページ、固定ページ、管理画面まで表示できなくなる場合があります。

特にPHPは、セミコロンの付け忘れ、括弧の閉じ忘れ、全角スペースの混入など、ちょっとしたミスでもエラーになることがあります。

functions.phpは便利なファイルですが、WordPress初心者が何も準備せずに編集するのは危険です。編集前には必ずバックアップを取り、元に戻せる状態で作業することが大切です。

2. functions.phpはどこにある?場所と確認方法

2-1. WordPress管理画面から確認する方法

functions.phpは、WordPress管理画面から確認できる場合があります。

管理画面にログインし、メニューから「外観」→「テーマファイルエディター」を開くと、現在有効化されているテーマのファイル一覧が表示されます。その中に「テーマのための関数」または「functions.php」というファイルがある場合があります。

ただし、WordPressの設定やサーバー環境、セキュリティ対策によっては、テーマファイルエディターが表示されないこともあります。また、管理画面から直接編集すると、ミスをしたときに管理画面自体へ入れなくなる可能性があります。

そのため、初心者がfunctions.phpを編集する場合、管理画面から直接編集する方法はあまりおすすめできません。確認だけにとどめ、実際の編集はFTPソフトやサーバーのファイルマネージャーを使うほうが安全です。

2-2. FTP・サーバーのファイルマネージャーから確認する方法

functions.phpは、サーバー上のテーマフォルダ内にあります。

一般的な場所は以下のとおりです。

/wp-content/themes/テーマ名/functions.php

たとえば、使用しているテーマのフォルダ名が「sample-theme」の場合、functions.phpの場所は以下のようになります。

/wp-content/themes/sample-theme/functions.php

FTPソフトを使う場合は、サーバーに接続して「wp-content」フォルダを開き、その中の「themes」フォルダへ進みます。そこにインストール済みのテーマフォルダが並んでいるので、現在使用しているテーマのフォルダを開くとfunctions.phpを確認できます。

サーバーのファイルマネージャーを使う場合も流れは同じです。レンタルサーバーの管理画面からファイルマネージャーを開き、WordPressがインストールされているディレクトリ内の「wp-content/themes/テーマ名/」を探します。

FTPやファイルマネージャーを使えば、エラーが発生してWordPress管理画面に入れなくなった場合でも、functions.phpを修正できます。

2-3. 親テーマと子テーマのfunctions.phpの違い

WordPressテーマには、親テーマと子テーマがあります。

親テーマは、デザインや機能の本体となるテーマです。子テーマは、親テーマの機能やデザインを引き継ぎながら、一部だけをカスタマイズするためのテーマです。

functions.phpを編集する場合は、基本的に子テーマのfunctions.phpを編集します。

親テーマのfunctions.phpを直接編集してしまうと、テーマをアップデートしたときに変更内容が上書きされて消える可能性があります。一方、子テーマのfunctions.phpに書いた内容は、親テーマをアップデートしても残ります。

親テーマと子テーマのfunctions.phpには、読み込まれ方にも違いがあります。子テーマを有効化している場合、子テーマのfunctions.phpと親テーマのfunctions.phpの両方が読み込まれます。

ただし、テンプレートファイルのように子テーマ側のファイルが親テーマ側のファイルを完全に上書きするわけではありません。functions.phpは、親テーマと子テーマの両方が実行される点に注意しましょう。

2-4. テーマによってfunctions.phpが見つからない場合の確認ポイント

通常、多くのWordPressテーマにはfunctions.phpがあります。しかし、テーマによってはファイル構成が複雑で、初心者には見つけにくい場合があります。

まず確認したいのは、現在有効化しているテーマのフォルダを開いているかどうかです。WordPressには複数のテーマをインストールできるため、別のテーマフォルダを見ている可能性があります。

次に、子テーマを使っているかどうかを確認しましょう。子テーマを有効化している場合、子テーマ側にもfunctions.phpがある場合があります。編集すべきなのは、基本的に子テーマのfunctions.phpです。

また、一部のテーマでは、functions.phpから別のPHPファイルを読み込んで機能を分割していることがあります。その場合でも、functions.php自体はテーマフォルダ直下にあることが多いです。

どうしても見つからない場合は、テーマフォルダ内で「functions.php」というファイル名を検索してみましょう。

3. functions.phpの基本的な書き方

3-1. PHPタグとコードを書く位置の基本

functions.phpはPHPファイルなので、PHPタグの中にコードを書きます。

一般的なfunctions.phpは、以下のように始まっています。

PHP
<?php

この「<?php」より下にPHPコードを書いていきます。

functions.phpでは、ファイルの最後に閉じタグ「?>」がない場合も多いです。これはミスではありません。PHPファイルでは、余計な空白や改行によるエラーを防ぐため、閉じタグを省略することがよくあります。

すでにfunctions.phpの最後に「?>」がない場合は、自分で追加する必要はありません。そのままPHPコードを追記します。

もしファイル末尾に「?>」がある場合は、その閉じタグより前にコードを書く必要があります。

悪い例は以下です。

PHP
?>
add_theme_support('post-thumbnails');

このようにPHPの閉じタグの外側にPHPコードを書くと、正しく動作しません。

正しい例は以下です。

PHP
add_theme_support('post-thumbnails');
?>

ただし、初心者の場合は、閉じタグがないfunctions.phpに慣れておくとよいでしょう。

3-2. コードはファイルの末尾に追記するのが基本

functions.phpにコードを追加するときは、基本的にファイルの末尾へ追記します。

すでに書かれているコードの途中に追加すると、既存の関数や条件分岐の中に入ってしまい、意図しない動作をすることがあります。

特に初心者の場合、どこからどこまでがひとつの処理なのか判断しにくいため、既存コードの途中に書くのは避けたほうが安全です。

たとえば、以下のようにコメントを付けて末尾に追加すると管理しやすくなります。

PHP
// アイキャッチ画像を有効化
add_theme_support('post-thumbnails');

ただし、同じ処理を何度も追加しないように注意しましょう。たとえば、同じ関数名を複数回定義するとエラーになることがあります。

3-3. コメントアウトを使って内容を整理する方法

functions.phpにコードを追加していくと、あとから見たときに「何のためのコードなのか」がわかりにくくなります。

そこで役立つのがコメントアウトです。コメントアウトとは、コードとして実行されない説明文のことです。

PHPでは、1行のコメントを書く場合に「//」を使います。

PHP
// アイキャッチ画像を有効化する
add_theme_support('post-thumbnails');

複数行のコメントを書く場合は、以下のように書きます。

PHP
/*
* 投稿ページで使う独自ショートコード
* [site_url] と入力するとサイトURLを表示する
*/

コメントを付けておくと、後日修正するときや、別の人が管理するときに内容を理解しやすくなります。

functions.phpはサイト運営を続けるほどコードが増えやすいファイルです。小さなカスタマイズでも、何のためのコードなのかをコメントで残しておくことをおすすめします。

3-4. アクションフック・フィルターフックの基本

functions.phpでよく使う仕組みに、アクションフックとフィルターフックがあります。

アクションフックとは、WordPressの特定のタイミングで独自の処理を実行する仕組みです。

たとえば、CSSやJavaScriptを読み込むときには「wp_enqueue_scripts」というアクションフックがよく使われます。

PHP
function my_theme_enqueue_scripts() {
wp_enqueue_style(
'my-theme-style',
get_stylesheet_uri()
);
}
add_action('wp_enqueue_scripts', 'my_theme_enqueue_scripts');

このコードでは、WordPressがCSSやJavaScriptを読み込むタイミングで、独自の処理を実行しています。

一方、フィルターフックとは、WordPressが出力する内容や値を変更する仕組みです。

たとえば、抜粋文の末尾に表示される文字を変更する場合は、以下のように書けます。

PHP
function my_excerpt_more($more) {
return '...';
}
add_filter('excerpt_more', 'my_excerpt_more');

アクションフックは「処理を追加する」、フィルターフックは「値を変更する」と考えると理解しやすいです。

functions.phpを使ったWordPressカスタマイズでは、この2つの仕組みが頻繁に登場します。

3-5. コピペで使うときに確認すべきポイント

インターネット上には、functions.phpに貼り付けて使えるコードがたくさん紹介されています。しかし、コードをそのままコピペする前に、必ず確認すべきポイントがあります。

まず、そのコードが自分のWordPress環境やテーマに対応しているかを確認しましょう。古い記事のコードや、特定のテーマ専用のコードは、現在の環境では動かない場合があります。

次に、コードの意味をできるだけ理解しましょう。完全に理解できなくても、「何をするコードなのか」「削除するとどうなるのか」くらいは把握しておくことが大切です。

また、関数名が重複していないかも確認しましょう。PHPでは同じ名前の関数を再定義するとエラーになります。

たとえば、以下のような関数名は他のコードと重複する可能性があります。

PHP
function custom_function() {
// 処理
}

重複を避けるためには、自分のサイト名やテーマ名を含めた関数名にすると安全です。

PHP
function mysite_custom_function() {
// 処理
}

さらに、コードを追加する前には必ずバックアップを取りましょう。コピペのミスでサイトが表示されなくなることもあるため、すぐに元に戻せる状態で作業することが重要です。

4. functions.phpでよく使われるカスタマイズ例

4-1. アイキャッチ画像を有効化する

アイキャッチ画像は、投稿や固定ページに設定できる代表画像です。テーマによっては最初から有効化されていますが、もし投稿画面にアイキャッチ画像の設定欄が表示されない場合は、functions.phpで有効化できます。

PHP
// アイキャッチ画像を有効化
add_theme_support('post-thumbnails');

このコードをfunctions.phpに追加すると、投稿編集画面でアイキャッチ画像を設定できるようになります。

特定の投稿タイプだけでアイキャッチ画像を有効化したい場合は、以下のように指定できます。

PHP
// 投稿と固定ページでアイキャッチ画像を有効化
add_theme_support('post-thumbnails', array('post', 'page'));

アイキャッチ画像は、記事一覧、関連記事、SNSシェア時の見た目にも関係するため、WordPressサイトでは重要な設定のひとつです。

4-2. ショートコードを追加する

ショートコードとは、投稿本文や固定ページ内に短いコードを書くことで、あらかじめ用意した内容を表示できる機能です。

たとえば、サイトURLを表示するショートコードを作る場合は、以下のように書けます。

PHP
// サイトURLを表示するショートコード
function mysite_shortcode_url() {
return esc_url(home_url('/'));
}
add_shortcode('site_url', 'mysite_shortcode_url');

このコードをfunctions.phpに追加すると、投稿本文内で以下のように使えます。

[site_url]

ショートコードを使うと、よく使う文章、ボタン、案内文、広告タグなどを簡単に呼び出せます。

ただし、ショートコードをfunctions.phpに書いた場合、テーマを変更すると使えなくなります。テーマ変更後も使いたいショートコードは、専用プラグイン化することも検討しましょう。

4-3. CSS・JavaScriptを読み込む

WordPressでCSSやJavaScriptを読み込む場合、header.phpなどに直接タグを書くよりも、functions.phpで読み込む方法が一般的です。

CSSを読み込む基本例は以下です。

PHP
// CSSを読み込む
function mysite_enqueue_styles() {
wp_enqueue_style(
'mysite-style',
get_stylesheet_uri(),
array(),
'1.0.0'
);
}
add_action('wp_enqueue_scripts', 'mysite_enqueue_styles');

独自のCSSファイルを読み込む場合は、以下のように書けます。

PHP
// 独自CSSを読み込む
function mysite_enqueue_custom_styles() {
wp_enqueue_style(
'mysite-custom-style',
get_stylesheet_directory_uri() . '/css/custom.css',
array(),
'1.0.0'
);
}
add_action('wp_enqueue_scripts', 'mysite_enqueue_custom_styles');

JavaScriptを読み込む場合は、以下のように書きます。

PHP
// 独自JavaScriptを読み込む
function mysite_enqueue_scripts() {
wp_enqueue_script(
'mysite-main-script',
get_stylesheet_directory_uri() . '/js/main.js',
array(),
'1.0.0',
true
);
}
add_action('wp_enqueue_scripts', 'mysite_enqueue_scripts');

最後の「true」は、JavaScriptをフッター側で読み込む指定です。ページ表示速度やHTML構造の面でも、適切に読み込むことが大切です。

4-4. 不要な機能や表示を無効化する

functions.phpでは、WordPressの不要な機能や表示を無効化することもできます。

たとえば、絵文字用のスクリプトを無効化する場合は、以下のようなコードが使われます。

PHP
// 絵文字関連のスクリプトを無効化
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');

また、WordPressのバージョン情報をhead内から削除することもできます。

PHP
// WordPressのバージョン情報を非表示
remove_action('wp_head', 'wp_generator');

ただし、不要な機能を無効化するときは、本当に不要かどうかを確認してから行いましょう。テーマやプラグインがその機能に依存している場合、表示崩れや不具合が起きることがあります。

表示速度改善やセキュリティ対策のためにfunctions.phpへコードを追加する例は多いですが、意味を理解せずに大量のコードを貼り付けるのは避けるべきです。

4-5. 管理画面や投稿画面をカスタマイズする

functions.phpでは、WordPressの管理画面や投稿画面をカスタマイズすることもできます。

たとえば、管理画面のフッターテキストを変更する場合は、以下のように書けます。

PHP
// 管理画面のフッターテキストを変更
function mysite_admin_footer_text() {
return 'サイト管理用ダッシュボード';
}
add_filter('admin_footer_text', 'mysite_admin_footer_text');

また、投稿一覧に独自の列を追加したり、投稿画面に説明文を表示したりすることも可能です。

ただし、管理画面のカスタマイズは、サイト運営者や編集者の作業に直接影響します。複数人でサイトを管理している場合は、変更内容を共有してから実装するようにしましょう。

5. functions.phpを編集する前に必ず知っておきたい注意点

5-1. 1文字のミスでもサイトが真っ白になる可能性がある

functions.phpを編集するときに最も注意したいのは、たった1文字のミスでもサイト全体にエラーが出る可能性があることです。

たとえば、以下のようなミスが原因になります。

・セミコロンの付け忘れ
・括弧の閉じ忘れ
・シングルクォーテーションやダブルクォーテーションの閉じ忘れ
・関数名の重複
・全角スペースの混入
・PHPタグの位置の間違い
・存在しない関数の呼び出し

PHPの構文エラーが発生すると、サイトの画面にエラーメッセージが表示されたり、真っ白な画面になったりすることがあります。

特にfunctions.phpは管理画面でも読み込まれるため、エラー内容によってはWordPressにログインできなくなることもあります。

5-2. 編集前に必ずバックアップを取る

functions.phpを編集する前には、必ずバックアップを取りましょう。

最低限、編集前のfunctions.phpを自分のパソコンに保存しておくことをおすすめします。ファイル名をわかりやすく変更しておくと、あとから戻しやすくなります。

例としては、以下のような名前です。

functions-backup-20260619.php

また、functions.phpだけでなく、テーマ全体やWordPress全体のバックアップを取っておくとより安全です。

バックアップがあれば、エラーが出た場合でも元のファイルに戻せます。逆にバックアップがないと、どこを修正すればよいかわからず、復旧に時間がかかることがあります。

5-3. 親テーマではなく子テーマを編集する

functions.phpを編集するときは、親テーマではなく子テーマを編集するのが基本です。

親テーマを直接編集すると、テーマをアップデートしたときに変更内容が消えてしまう可能性があります。テーマのアップデートでは、セキュリティ修正や不具合修正が行われるため、アップデートを避け続けるのも危険です。

子テーマを使えば、親テーマをアップデートしてもカスタマイズ内容を残しやすくなります。

特に有料テーマや公式テーマを使っている場合、親テーマのfunctions.phpを直接編集するのは避けましょう。

5-4. WordPress管理画面からの直接編集はできるだけ避ける

WordPress管理画面のテーマファイルエディターからfunctions.phpを編集することはできますが、初心者にはあまりおすすめできません。

理由は、エラーが発生したときに管理画面へ入れなくなる可能性があるからです。管理画面に入れなくなると、同じ画面から修正できなくなります。

一方、FTPソフトやサーバーのファイルマネージャーを使っていれば、管理画面に入れない状態でもfunctions.phpを修正できます。

安全性を考えるなら、functions.phpの編集はFTPまたはファイルマネージャーで行いましょう。

5-5. 信頼できないコードを貼り付けない

インターネット上には、functions.php用のコードが数多く公開されています。しかし、すべてのコードが安全とは限りません。

古いコード、動作確認されていないコード、出典が不明なコード、セキュリティ上危険なコードを貼り付けると、サイトに不具合が出る可能性があります。

特に、外部ファイルを読み込むコード、ユーザー入力を処理するコード、データベースを操作するコード、管理者権限に関係するコードには注意が必要です。

functions.phpに貼り付ける前に、そのコードが何をしているのかを確認しましょう。不安な場合は、無理にfunctions.phpへ追加せず、信頼できるプラグインを使う選択もあります。

6. functions.phpの安全な編集手順

6-1. バックアップを取得する

functions.phpを編集する前に、まずバックアップを取得します。

FTPソフトやファイルマネージャーで現在のfunctions.phpをダウンロードし、パソコンに保存しておきましょう。

バックアップファイルは、日付や編集内容がわかる名前にしておくと管理しやすくなります。

functions-before-shortcode-add-20260619.php

また、可能であればサーバー全体やデータベースのバックアップも取得しておくと安心です。

特に本番サイトで作業する場合は、functions.phpだけでなく、WordPress全体を復元できる状態にしてから編集しましょう。

6-2. 子テーマを用意する

親テーマを直接編集している場合は、先に子テーマを用意しましょう。

子テーマには、最低限「style.css」と「functions.php」を用意します。すでにテーマが子テーマを提供している場合は、それを使うのが簡単です。

子テーマのfunctions.phpにカスタマイズコードを追加すれば、親テーマのアップデートによる上書きを避けやすくなります。

すでに子テーマを使っているかどうかは、WordPress管理画面の「外観」→「テーマ」から確認できます。現在有効化されているテーマ名に「Child」や「子テーマ」といった表記がある場合は、子テーマである可能性があります。

6-3. FTPまたはファイルマネージャーで編集する

functions.phpの編集は、FTPまたはサーバーのファイルマネージャーを使うのがおすすめです。

FTPソフトを使う場合は、対象のfunctions.phpを一度パソコンにダウンロードし、テキストエディタで編集してからアップロードします。

サーバーのファイルマネージャーを使う場合は、ブラウザ上で直接編集できることがあります。ただし、編集前に必ずファイルをコピーしてバックアップしておきましょう。

テキストエディタは、文字コードや構文の確認がしやすいものを使うと安心です。メモ帳のような簡易的なエディタより、コード編集に対応したエディタのほうがミスを見つけやすくなります。

6-4. 変更前のコードを保存しておく

functions.phpを編集するときは、変更前のコードを必ず保存しておきましょう。

バックアップファイルとして保存するだけでなく、追加するコードの直前にもコメントを入れておくと、あとから削除しやすくなります。

PHP
// ここから:アイキャッチ画像の有効化
add_theme_support('post-thumbnails');
// ここまで:アイキャッチ画像の有効化

複数のカスタマイズを追加する場合は、それぞれのコードに見出しコメントを付けておくと管理しやすくなります。

何か不具合が起きたときに「どのコードを追加したのか」がすぐにわかる状態にしておくことが大切です。

6-5. 少しずつ追記して動作確認する

functions.phpに複数のコードを追加するときは、一度にまとめて貼り付けないようにしましょう。

一度に大量のコードを追加すると、エラーが起きたときに原因を特定しにくくなります。

安全に作業するなら、ひとつのコードを追加したら保存し、サイトの表示と管理画面の動作を確認します。問題がなければ次のコードを追加します。

確認するときは、以下のページをチェックするとよいでしょう。

・トップページ
・投稿ページ
・固定ページ
・管理画面
・投稿編集画面
・カスタマイズした機能が反映されるページ

キャッシュ系プラグインを使っている場合は、変更がすぐに反映されないこともあります。その場合は、キャッシュを削除してから確認しましょう。

6-6. エラーが出たらすぐ元に戻せる状態にしておく

functions.phpを編集するときは、エラーが出てもすぐに元に戻せる状態で作業しましょう。

具体的には、以下を準備しておくと安心です。

・編集前のfunctions.php
・FTPまたはファイルマネージャーへのログイン情報
・サーバー管理画面へのログイン情報
・バックアップファイル
・追加したコードのメモ

エラーが出た場合は、慌てずに直前に追加したコードを削除するか、バックアップしておいたfunctions.phpに戻します。

WordPress管理画面に入れなくなった場合でも、FTPやファイルマネージャーから修正できれば復旧できることが多いです。

7. functions.phpでエラーが出たときの対処法

7-1. WordPressにログインできる場合の戻し方

functions.phpを編集したあとに不具合が出ても、WordPress管理画面にログインできる場合は、比較的簡単に修正できます。

まず、直前に追加したコードを確認します。テーマファイルエディターから編集した場合は、functions.phpを開き、追加した部分を削除して保存します。

ただし、管理画面からの編集はリスクがあるため、可能であればFTPやファイルマネージャーで修正するほうが安全です。

また、コードを削除しても反映されない場合は、キャッシュが残っている可能性があります。キャッシュ系プラグイン、サーバーキャッシュ、ブラウザキャッシュを削除して確認しましょう。

7-2. 管理画面に入れない場合のFTPでの修正方法

functions.phpのエラーによってWordPress管理画面に入れなくなった場合は、FTPまたはサーバーのファイルマネージャーを使って修正します。

手順は以下のとおりです。

まず、FTPソフトまたはファイルマネージャーでサーバーに接続します。

次に、以下の場所に移動します。

/wp-content/themes/使用中のテーマ名/functions.php

子テーマを使っている場合は、子テーマのフォルダ内にあるfunctions.phpを開きます。

その後、直前に追加したコードを削除するか、バックアップしておいたfunctions.phpをアップロードして上書きします。

保存後、サイトを再読み込みして表示が戻るか確認します。

もしどのテーマを使っているかわからない場合は、直近で編集したテーマフォルダを確認しましょう。編集日時を見れば、どのファイルを変更したか判断しやすいです。

7-3. 直前に追加したコードを削除する

functions.phpでエラーが出た場合、多くは直前に追加したコードが原因です。

そのため、まずは追加したコードを削除して元に戻します。

コードを削除するときは、必要な括弧やセミコロンまで誤って消さないように注意しましょう。コメントで範囲を区切っていれば、どこからどこまで削除すればよいか判断しやすくなります。

PHP
// ここから:追加したカスタマイズ
function mysite_sample_function() {
return 'sample';
}
// ここまで:追加したカスタマイズ

このように範囲を明確にしておくと、エラー時にすばやく戻せます。

7-4. PHPの構文エラーを確認する

functions.phpのエラーでは、PHPの構文ミスがよくあります。

よくある構文エラーは以下です。

PHP
// セミコロン忘れ
add_theme_support('post-thumbnails')

正しくは以下です。

PHP
add_theme_support('post-thumbnails');

括弧の閉じ忘れもよくあるミスです。

PHP
function mysite_sample() {
echo 'Hello';

正しくは以下です。

PHP
function mysite_sample() {
echo 'Hello';
}

クォーテーションの閉じ忘れにも注意が必要です。

PHP
echo 'Hello;

正しくは以下です。

PHP
echo 'Hello';

PHPのエラーメッセージには、どのファイルの何行目でエラーが起きているか表示されることがあります。その行の前後を確認すると、原因を見つけやすくなります。

ただし、エラーが表示された行そのものではなく、その少し前の行に原因がある場合もあります。

7-5. バックアップから復元する

原因がわからない場合や、複数のコードを追加してしまった場合は、バックアップから復元するのが確実です。

編集前に保存しておいたfunctions.phpを、FTPまたはファイルマネージャーでアップロードして上書きします。

バックアップから復元したら、サイトが正常に表示されるか確認しましょう。

その後、追加したかったコードをひとつずつ再度追加し、どのコードでエラーが起きるのか確認します。

バックアップがない場合は、使用しているテーマの元ファイルを再ダウンロードしてfunctions.phpを戻す方法もあります。ただし、すでに独自カスタマイズをしていた場合、その内容は失われる可能性があります。

8. functions.phpとプラグインはどちらを使うべき?

8-1. functions.phpに書くのに向いているカスタマイズ

functions.phpに書くのに向いているのは、現在使っているテーマに関係するカスタマイズです。

たとえば、以下のような内容です。

・テーマのCSSやJavaScriptを読み込む
・テーマで使うアイキャッチ画像を有効化する
・テーマ専用のウィジェットエリアを追加する
・テーマの表示に関係する処理を変更する
・テーマ内で使う補助的な関数を追加する

これらはテーマの見た目や表示に関係するため、functions.phpで管理しやすいカスタマイズです。

ただし、テーマを変更すると使えなくなるため、テーマに依存しても問題ない内容に限定するのが基本です。

8-2. プラグイン化したほうがよいカスタマイズ

一方で、テーマに依存させたくない機能はプラグイン化したほうがよい場合があります。

たとえば、以下のような機能です。

・独自ショートコード
・カスタム投稿タイプ
・カスタムタクソノミー
・SEO関連の機能
・お問い合わせフォーム関連の処理
・会員機能
・アクセス解析タグの管理
・広告タグの管理
・サイト全体で使う独自機能

これらをfunctions.phpに書いてしまうと、テーマを変更したときに機能が消える可能性があります。

特にカスタム投稿タイプをfunctions.phpに書く場合は注意が必要です。テーマを変更すると管理画面から投稿タイプが見えなくなり、運用に支障が出ることがあります。

テーマに関係ない機能は、専用プラグインや自作プラグインで管理するほうが安全です。

8-3. テーマ変更後も使いたい機能はプラグインが向いている

判断基準としてわかりやすいのは、「テーマを変更してもその機能を使いたいかどうか」です。

テーマを変更しても必要な機能なら、functions.phpではなくプラグインで管理するのがおすすめです。

たとえば、ショートコード、アクセス解析、広告タグ、カスタム投稿タイプなどは、テーマを変更しても使い続けたいことが多い機能です。

逆に、テーマのデザインや表示に関係する処理であれば、functions.phpに書いても問題ない場合があります。

functions.phpは便利ですが、何でも書く場所ではありません。テーマに関係する処理はfunctions.php、サイト全体の機能はプラグイン、と分けて考えると管理しやすくなります。

8-4. 初心者は無理にfunctions.phpを編集しない選択も重要

WordPress初心者の場合、無理にfunctions.phpを編集しないという選択も重要です。

functions.phpは少しのミスでサイト全体に影響するため、慣れていないうちはリスクがあります。

同じ機能を実現できるプラグインがあるなら、まずはプラグインを使うほうが安全な場合もあります。特にSEO、セキュリティ、バックアップ、フォーム、キャッシュなどは、信頼できるプラグインを使ったほうが管理しやすいことが多いです。

ただし、プラグインを入れすぎるとサイトが重くなったり、プラグイン同士が競合したりすることもあります。

大切なのは、functions.phpとプラグインのどちらが絶対に正しいかではなく、カスタマイズ内容に合わせて適切に選ぶことです。

9. functions.phpに関するよくある質問

9-1. functions.phpを編集しても反映されない原因は?

functions.phpを編集しても反映されない場合、いくつかの原因が考えられます。

まず、編集しているテーマが現在有効化されているテーマか確認しましょう。別のテーマや親テーマのfunctions.phpを編集していると、変更が反映されないことがあります。

子テーマを使っている場合は、子テーマのfunctions.phpを編集しているか確認します。

次に、キャッシュが原因の可能性があります。キャッシュ系プラグイン、サーバーキャッシュ、ブラウザキャッシュが残っていると、変更が反映されていないように見えることがあります。

また、追加したコードが特定の条件でしか動かない場合もあります。たとえば、管理画面だけで動くコード、投稿ページだけで動くコード、ログインユーザーだけに反映されるコードなどです。

コード自体にエラーがある場合や、フックの指定が間違っている場合も反映されません。エラーログを確認したり、追加したコードを見直したりしましょう。

9-2. functions.phpは削除しても大丈夫?

基本的に、functions.phpを削除するのはおすすめできません。

functions.phpには、テーマを動かすために必要な処理が書かれている場合があります。削除すると、テーマの機能が使えなくなったり、サイトの表示が崩れたり、エラーが出たりする可能性があります。

特に親テーマのfunctions.phpは、テーマ全体の重要な設定が含まれていることが多いため、削除してはいけません。

子テーマのfunctions.phpであっても、独自カスタマイズが書かれている場合は削除するとその機能が消えます。

不要なコードを消したい場合は、functions.php自体を削除するのではなく、対象のコードだけを慎重に削除しましょう。削除前には必ずバックアップを取ってください。

9-3. 親テーマと子テーマの両方にfunctions.phpがある場合はどうなる?

子テーマを有効化している場合、親テーマと子テーマの両方のfunctions.phpが読み込まれます。

テンプレートファイルの場合、子テーマのファイルが親テーマのファイルを上書きすることがあります。しかし、functions.phpは上書きではなく、両方が読み込まれる点が特徴です。

そのため、親テーマのfunctions.phpに書かれた処理も、子テーマのfunctions.phpに書かれた処理も実行されます。

ただし、同じ名前の関数を親テーマと子テーマの両方で定義するとエラーになる可能性があります。子テーマ側で関数を追加するときは、関数名の重複に注意しましょう。

9-4. functions.phpのバックアップはどこに保存すればいい?

functions.phpのバックアップは、自分のパソコン、クラウドストレージ、サーバー内の別フォルダなどに保存できます。

おすすめは、まず自分のパソコンに保存し、必要に応じてクラウドストレージにも保存する方法です。

ファイル名には日付や編集内容を入れておくと、あとから見分けやすくなります。

functions-backup-20260619.php
functions-before-css-add.php
functions-before-shortcode-edit.php

サーバー内にバックアップを置く場合は、公開ディレクトリから直接アクセスできない場所に保存するほうが安全です。

また、functions.php単体だけでなく、テーマフォルダ全体やWordPress全体のバックアップも定期的に取っておくと安心です。

9-5. functions.phpに何でも書いてよい?

functions.phpにはさまざまなコードを書けますが、何でも書いてよいわけではありません。

functions.phpはテーマに紐づくファイルなので、テーマの表示や動作に関係するカスタマイズを書くのに向いています。

一方、テーマを変更しても使い続けたい機能、サイト全体に関わる重要な機能、複雑な処理、大量のコードなどは、プラグイン化したほうが管理しやすい場合があります。

また、セキュリティに関わる処理やデータベースを操作する処理を安易に書くのは危険です。

functions.phpは便利なファイルですが、コードが増えすぎると管理が難しくなります。カスタマイズ内容ごとにコメントを付け、不要になったコードは整理し、必要に応じてプラグイン化することが大切です。

まとめ

WordPressのfunctions.phpは、テーマに機能を追加したり、WordPressの動作をカスタマイズしたりできる重要なPHPファイルです。

場所は一般的に、以下のテーマフォルダ内にあります。

/wp-content/themes/テーマ名/functions.php

functions.phpでは、アイキャッチ画像の有効化、ショートコードの追加、CSSやJavaScriptの読み込み、不要な機能の無効化、管理画面のカスタマイズなどができます。

一方で、functions.phpはサイト全体に影響するファイルです。1文字のミスでもエラーが発生し、サイトが表示されなくなる可能性があります。

安全に編集するためには、以下のポイントを守りましょう。

・編集前に必ずバックアップを取る
・親テーマではなく子テーマのfunctions.phpを編集する
・WordPress管理画面からの直接編集はできるだけ避ける
・FTPまたはファイルマネージャーで編集する
・コードは少しずつ追加して動作確認する
・信頼できないコードを貼り付けない
・エラーが出たらすぐ元に戻せる状態にしておく

また、functions.phpに書くべきか、プラグインで対応すべきかも重要です。テーマに関係するカスタマイズはfunctions.php、テーマ変更後も使いたい機能はプラグイン、と考えると判断しやすくなります。

functions.phpは、正しく使えばWordPressサイトを柔軟にカスタマイズできる便利なファイルです。初心者のうちは無理に編集せず、バックアップと復旧手段を準備したうえで、少しずつ理解しながら活用していきましょう。