WordPressでPHPを安全に編集する方法|初心者向けに基本・カスタマイズ・エラー対処まで解説
はじめに
WordPressは、ブログや企業サイト、ECサイトまで幅広く使われているCMSです。管理画面から記事を書いたり、テーマを変更したり、プラグインを追加したりするだけでも多くのカスタマイズができますが、さらに細かく機能や表示を調整したい場合は、PHPファイルの編集が必要になることがあります。
ただし、WordPressでPHPを編集する作業は、HTMLやCSSの変更よりも慎重に行う必要があります。たった1文字の入力ミスでも、サイトが真っ白になったり、管理画面に入れなくなったりする可能性があるためです。
この記事では、「ワードプレス PHP」「WordPress PHP 編集」といったキーワードで調べている初心者に向けて、PHPの基本、編集できるファイル、安全な編集方法、functions.phpを使ったカスタマイズ例、エラー時の復旧方法までわかりやすく解説します。
1. WordPressでPHPを編集する前に知っておくべき基本
1-1. WordPressにおけるPHPの役割とは
WordPressは、主にPHPというプログラミング言語で作られています。PHPは、サーバー側で動く言語で、ページを表示する前に必要な処理を行います。
たとえば、WordPressでは次のような処理にPHPが使われています。
投稿記事の一覧を取得する
記事ページのタイトルや本文を表示する
テーマのテンプレートを読み込む
プラグインの機能を動かす
ログイン状態を判定する
お問い合わせフォームや会員機能を処理する
ユーザーがサイトにアクセスすると、WordPressはPHPを使ってデータベースから必要な情報を取得し、HTMLとしてブラウザに返します。つまり、PHPはWordPressの「裏側の動き」を担当している重要な仕組みです。
1-2. HTML・CSS・JavaScriptとPHPの違い
WordPressをカスタマイズする際には、HTML、CSS、JavaScript、PHPの違いを理解しておくことが大切です。
HTMLは、ページの構造を作る言語です。見出し、段落、画像、リンクなどを配置します。
CSSは、デザインを調整する言語です。文字色、背景色、余白、レイアウト、スマホ表示などを指定します。
JavaScriptは、ブラウザ上で動く処理を担当します。メニューの開閉、スライダー、ポップアップ、入力フォームの動的な動作などに使われます。
一方、PHPはサーバー上で動きます。記事データを取得したり、条件によって表示内容を変えたり、WordPressの機能そのものを追加・変更したりできます。
たとえば、見た目の色を変えたいだけならCSSで対応できます。しかし、「特定のカテゴリーの記事だけ表示を変えたい」「ショートコードを追加したい」「管理画面に独自機能を追加したい」といった場合は、PHPの編集が必要になることがあります。
1-3. PHPを編集すると何がカスタマイズできるのか
WordPressでPHPを編集すると、テーマやサイトの動作を細かくカスタマイズできます。
代表的な例は次のとおりです。
functions.phpに独自機能を追加する
投稿ページや固定ページの表示内容を変更する
ヘッダーやフッターに独自コードを追加する
ショートコードを作成する
カスタム投稿タイプを追加する
ウィジェットエリアを追加する
CSSやJavaScriptを正しい方法で読み込む
不要なWordPress標準機能を停止する
条件分岐でページごとに表示内容を変える
PHPを使うと、WordPressの自由度は大きく広がります。ただし、便利な反面、編集ミスによる影響も大きいため、安全な手順で進めることが重要です。
1-4. 初心者がPHP編集で注意すべきリスク
初心者がWordPressのPHPを編集するときに注意すべきリスクは、主に4つあります。
1つ目は、サイトが表示されなくなるリスクです。PHPは文法に厳しく、括弧やセミコロン、クォーテーションのミスでもエラーが発生します。
2つ目は、管理画面に入れなくなるリスクです。functions.phpなどに致命的なエラーがあると、ログイン画面や管理画面まで表示できなくなることがあります。
3つ目は、テーマやプラグインの更新で変更内容が消えるリスクです。親テーマやプラグイン本体のPHPファイルを直接編集すると、アップデート時に上書きされる可能性があります。
4つ目は、セキュリティ上のリスクです。ネット上のコードを意味がわからないまま貼り付けると、脆弱性や不正アクセスの原因になることがあります。
WordPressでPHPを編集する場合は、「バックアップを取る」「子テーマを使う」「本番環境でいきなり編集しない」「復旧手段を用意する」という基本を必ず守りましょう。
2. WordPressで編集する主なPHPファイル
2-1. functions.phpとは
functions.phpは、WordPressテーマに機能を追加するための重要なPHPファイルです。テーマごとに用意されており、サイト全体で使う独自処理を記述できます。
functions.phpでは、たとえば次のようなカスタマイズができます。
アイキャッチ画像を有効化する
CSSやJavaScriptを読み込む
ショートコードを追加する
カスタム投稿タイプを登録する
ウィジェットエリアを追加する
WordPressの不要な機能を停止する
ただし、functions.phpにエラーがあるとサイト全体に影響します。特に初心者は、親テーマのfunctions.phpではなく、子テーマのfunctions.phpにコードを追加するのが基本です。WordPress公式のテーマハンドブックでも、子テーマのfunctions.phpを使えば親テーマの更新に影響されにくいと説明されています。
2-2. header.php・footer.php・single.phpなどテンプレートファイルの役割
WordPressテーマには、表示内容を決めるテンプレートファイルがあります。代表的なものは次のとおりです。
header.phpは、サイト上部のヘッダー部分を管理するファイルです。ロゴ、グローバルナビゲーション、headタグ内の処理などが含まれることがあります。
footer.phpは、サイト下部のフッター部分を管理するファイルです。コピーライト、フッターメニュー、解析タグの一部などを設置するケースがあります。
single.phpは、投稿ページの表示を管理するテンプレートです。記事タイトル、本文、投稿日、カテゴリー、関連記事などの表示に関係します。
page.phpは、固定ページの表示を管理します。会社概要、問い合わせ、プロフィールなどの固定ページで使われることが多いです。
archive.phpは、カテゴリー一覧やタグ一覧、月別アーカイブなどの一覧ページに使われます。
これらのテンプレートファイルを編集すると、ページの表示構造を変更できます。ただし、テーマによってファイル構成が異なるため、編集前にどのファイルがどのページに使われているか確認しましょう。
2-3. wp-config.phpとは
wp-config.phpは、WordPressの重要な設定ファイルです。データベース接続情報、認証キー、デバッグ設定、テーブル接頭辞などが記述されています。
wp-config.phpには、次のような情報が含まれます。
データベース名
データベースユーザー名
データベースパスワード
データベースホスト
認証用のキー
デバッグモードの設定
WordPressの動作に関する設定
wp-config.phpを誤って編集すると、データベースに接続できなくなり、サイト全体が表示されなくなることがあります。そのため、通常のデザイン変更や機能追加のために触るファイルではありません。
デバッグモードを有効にする場合など、必要な場面だけ慎重に編集しましょう。WordPress公式ドキュメントでは、WP_DEBUGなどの設定はwp-config.phpの特定位置より前に記述する必要があると説明されています。
2-4. プラグイン内のPHPファイルを直接編集してはいけない理由
プラグイン内のPHPファイルを直接編集するのは、基本的に避けるべきです。
理由は、プラグインを更新したときに編集内容が上書きされる可能性が高いからです。また、プラグイン本体のコードを変更すると、今後のアップデートが難しくなり、不具合やセキュリティリスクを抱えたまま使い続けることにもなりかねません。
プラグインの動作を変更したい場合は、次の方法を検討しましょう。
プラグインの設定画面で変更する
フックやフィルターが用意されていないか確認する
子テーマのfunctions.phpにカスタマイズを追加する
独自プラグインを作成する
別のプラグインで代替する
WordPressのカスタマイズでは、「本体・テーマ・プラグインのコアファイルは直接編集しない」という考え方が重要です。
2-5. 親テーマと子テーマのPHPファイルの違い
親テーマとは、サイトの基本デザインや機能を持つテーマのことです。通常、WordPressでインストールして有効化するテーマは親テーマです。
子テーマとは、親テーマの機能やデザインを引き継ぎながら、一部だけを上書き・追加するためのテーマです。子テーマを使えば、親テーマを更新してもカスタマイズ内容を残しやすくなります。WordPress公式のテーマハンドブックでも、子テーマは親テーマを直接編集せずにカスタマイズするための仕組みとして説明されています。
ただし、テンプレートファイルとfunctions.phpでは動作が異なります。
テンプレートファイルの場合、子テーマに同じ名前のファイルを置くと、親テーマのファイルを上書きできます。たとえば、子テーマにsingle.phpを置くと、そのsingle.phpが優先されます。
一方、functions.phpは上書きではなく、子テーマと親テーマの両方が読み込まれます。しかも、子テーマのfunctions.phpが先に読み込まれ、その後に親テーマのfunctions.phpが読み込まれます。親テーマのfunctions.phpをそのまま子テーマにコピーすると、関数名の重複でFatal errorが起きることがあるため注意しましょう。
3. WordPressでPHPを安全に編集する準備
3-1. 編集前に必ずバックアップを取る
WordPressでPHPを編集する前に、必ずバックアップを取りましょう。バックアップなしでPHPを変更するのは非常に危険です。
最低限バックアップすべきものは、次の2つです。
WordPressファイル一式
データベース
PHPファイルの編集だけならファイルのバックアップで十分に見えるかもしれません。しかし、作業中にプラグイン設定やテーマ設定も変更する可能性があるため、データベースも含めてバックアップしておくと安心です。
WordPress公式のファイル編集ドキュメントでも、ファイルを編集する前にバックアップを取り、変更中もこまめに保存することが推奨されています。
バックアップ方法には、次のようなものがあります。
サーバーの自動バックアップ機能を使う
バックアップ系プラグインを使う
FTP・SFTPでファイルをダウンロードする
phpMyAdminなどでデータベースをエクスポートする
初心者の場合は、レンタルサーバーのバックアップ機能とバックアッププラグインを併用すると安心です。
3-2. 子テーマを作成して編集する
テーマのPHPを編集する場合は、原則として子テーマを作成して編集します。
親テーマを直接編集すると、テーマ更新時に変更内容が消えてしまう可能性があります。また、どこを変更したのか管理しにくくなり、後から修正するときにも困ります。
子テーマを使うメリットは次のとおりです。
親テーマの更新に強い
カスタマイズ箇所を管理しやすい
失敗しても親テーマに戻しやすい
必要なファイルだけ上書きできる
子テーマには、最低限style.cssが必要です。テーマによってはfunctions.phpも作成し、CSSの読み込みや独自機能を追加します。
すでに子テーマが用意されているテーマもあります。テーマ公式サイトや配布元のマニュアルを確認し、推奨されている方法で子テーマを作成しましょう。
3-3. ステージング環境やテスト環境で動作確認する
PHP編集は、本番サイトでいきなり行うべきではありません。可能であれば、ステージング環境やテスト環境で動作確認してから本番に反映しましょう。
ステージング環境とは、本番サイトとほぼ同じ状態でテストできる環境のことです。レンタルサーバーによっては、管理画面から簡単にステージング環境を作成できる機能があります。
テスト環境で確認すべきことは、次のとおりです。
サイトが正常に表示されるか
管理画面にログインできるか
投稿ページや固定ページが表示されるか
お問い合わせフォームが動作するか
スマホ表示が崩れていないか
エラーメッセージが出ていないか
表示速度に大きな影響がないか
小さなコード追加でも、他のプラグインやテーマ機能と干渉することがあります。必ずテスト環境で確認してから本番反映しましょう。
3-4. PHPバージョンとWordPress・テーマ・プラグインの互換性を確認する
WordPressでPHPを扱うときは、PHPバージョンの確認も重要です。サーバーのPHPバージョンが古すぎると、セキュリティや表示速度に問題が出ることがあります。一方で、新しすぎるPHPバージョンに変更すると、古いテーマやプラグインが対応しておらずエラーになる場合もあります。
WordPress公式の互換性情報では、WordPress本体とPHPバージョンの対応状況が管理されています。2026年時点でも対応状況は更新され続けているため、PHPを変更する前には公式の互換表や、利用中のテーマ・プラグインの対応状況を確認することが大切です。
確認すべき項目は次のとおりです。
現在のWordPressバージョン
現在のPHPバージョン
テーマが対応しているPHPバージョン
主要プラグインが対応しているPHPバージョン
サーバーで選択できるPHPバージョン
PHPを更新する前には、WordPress本体、テーマ、プラグインを最新版に更新し、バックアップを取ってから作業しましょう。
3-5. FTP・SFTP・サーバー管理画面にアクセスできる状態にしておく
PHP編集でエラーが発生すると、WordPress管理画面に入れなくなることがあります。その場合、管理画面のテーマファイルエディターでは復旧できません。
そのため、編集前に必ずFTP、SFTP、またはサーバーのファイルマネージャーにアクセスできる状態にしておきましょう。
事前に確認しておきたい情報は次のとおりです。
FTPまたはSFTPのホスト名
ユーザー名
パスワード
ポート番号
WordPressの設置ディレクトリ
サーバー管理画面へのログイン情報
特に初心者は、エラーが出てから慌ててFTP情報を探すと復旧に時間がかかります。PHPを編集する前に、実際に接続できるか確認しておくと安心です。
4. WordPressでPHPを編集する方法
4-1. WordPress管理画面のテーマファイルエディターで編集する方法
WordPressには、管理画面からテーマファイルを編集できる「テーマファイルエディター」があります。
一般的には、次の手順で開けます。
WordPress管理画面にログインする
「外観」を開く
「テーマファイルエディター」を選択する
編集したいテーマを選ぶ
functions.phpなどのファイルを選択する
コードを編集して保存する
ブラウザだけで編集できるため手軽ですが、初心者にはあまりおすすめできません。なぜなら、PHPの記述ミスでエラーが発生すると、管理画面に入れなくなり、同じ画面から修正できなくなる可能性があるからです。
WordPress公式ドキュメントでも、ファイル編集前にはバックアップや適切な権限設定が必要だと説明されています。
テーマファイルエディターを使う場合は、必ず次の条件を満たしてから作業しましょう。
バックアップを取っている
子テーマを編集している
FTPやSFTPで復旧できる
追加するコードの意味を理解している
変更前のコードを保存している
4-2. FTP・SFTPでPHPファイルを編集する方法
FTP・SFTPを使う方法は、WordPressのPHP編集でよく使われる安全性の高い方法です。ローカル環境にファイルをダウンロードし、コードエディターで編集してからサーバーにアップロードします。
基本手順は次のとおりです。
FTPソフトでサーバーに接続する
WordPressの設置フォルダを開く
wp-content/themes/対象テーマ/ に移動する
編集するPHPファイルをダウンロードする
ローカルでバックアップを複製する
コードエディターで編集する
保存してアップロードする
サイト表示と管理画面を確認する
FTP・SFTPのメリットは、エラーが発生してもファイルを直接修正できることです。管理画面に入れなくなっても、追加したコードを削除したり、バックアップファイルを戻したりできます。
初心者には、FTPよりも暗号化されたSFTPの利用がおすすめです。利用できるかどうかは、レンタルサーバーのマニュアルを確認しましょう。
4-3. サーバーのファイルマネージャーで編集する方法
レンタルサーバーによっては、管理画面に「ファイルマネージャー」が用意されています。FTPソフトを使わず、ブラウザ上でサーバー内のファイルを編集できます。
ファイルマネージャーの基本手順は次のとおりです。
サーバー管理画面にログインする
ファイルマネージャーを開く
WordPressの設置ディレクトリを開く
wp-content/themes/対象テーマ/ に移動する
編集するPHPファイルを選択する
編集前にファイルをコピーしてバックアップする
コードを編集して保存する
サイト表示を確認する
ファイルマネージャーは便利ですが、編集画面が簡易的な場合があります。コードの色分けやエラーチェックが弱いこともあるため、長いコードの編集には向いていません。
小さな修正や、エラー時の復旧には便利ですが、本格的な編集はコードエディターとSFTPを使うほうが安全です。
4-4. コードスニペット系プラグインでPHPを追加する方法
初心者がfunctions.phpにコードを追加する場合、コードスニペット系プラグインを使う方法もあります。
コードスニペット系プラグインを使うと、管理画面からPHPコードを追加・管理できます。テーマファイルを直接編集しないため、テーマを変更してもコードを管理しやすいのがメリットです。
主なメリットは次のとおりです。
functions.phpを直接編集しなくてよい
追加したコードを個別に有効化・無効化できる
テーマ更新の影響を受けにくい
エラー時に自動停止機能があるプラグインもある
コードごとに説明を残しやすい
ただし、PHPコードを実行することに変わりはありません。誤ったコードを追加すれば、サイトに不具合が出る可能性があります。
また、サイトの根幹に関わる重要な処理や、高度なカスタマイズは、独自プラグインや子テーマで管理したほうがよい場合もあります。
4-5. 初心者におすすめの編集方法はどれか
初心者におすすめの方法は、目的によって異なります。
簡単なPHPコードを追加したい場合は、コードスニペット系プラグインがおすすめです。コードを個別に管理でき、不要になったら無効化しやすいためです。
テーマのテンプレートを変更したい場合は、子テーマを作成し、SFTPまたはサーバーのファイルマネージャーで編集する方法が安全です。
本格的にWordPressをカスタマイズしたい場合は、ローカル環境やステージング環境を用意し、コードエディターで編集してから本番に反映する方法が理想です。
避けたいのは、本番環境の親テーマを管理画面のテーマファイルエディターで直接編集する方法です。手軽ですが、エラー時の復旧が難しく、アップデートで変更内容が消えるリスクもあります。
5. functions.phpを使った基本カスタマイズ例
5-1. functions.phpにコードを追加する基本ルール
functions.phpにコードを追加するときは、いくつかの基本ルールを守りましょう。
まず、PHP開始タグ <?php がすでにある場合、追加コードのたびに新しく書く必要はありません。functions.phpの末尾にコードを追加する場合は、既存のPHPタグの中に記述します。
また、functions.phpの最後にPHP終了タグ ?> は書かないのが一般的です。終了タグの後に余計な空白や改行が入ると、予期しないエラーや表示崩れの原因になることがあります。
関数名は、他のテーマやプラグインと重複しないようにします。たとえば、custom_shortcode() のような一般的な名前ではなく、mytheme_custom_shortcode() のように接頭辞を付けると安全です。
さらに、コードを追加するときは一度に大量に貼り付けず、1つずつ追加して動作確認しましょう。エラーが出たときに原因を特定しやすくなります。
5-2. 不要な機能を停止するカスタマイズ
WordPressでは、不要な機能をfunctions.phpで停止できる場合があります。
たとえば、絵文字用のスクリプトを停止したい場合は、次のようなコードを使うことがあります。
PHPadd_action( 'init', 'mytheme_disable_emoji' );
function mytheme_disable_emoji() {
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
}
このコードは、WordPressが出力する絵文字関連の処理を一部停止する例です。
ただし、不要な機能を停止するカスタマイズは、テーマやプラグインの動作に影響することがあります。何を止めているのか理解したうえで追加しましょう。
5-3. ショートコードを追加するカスタマイズ
ショートコードを使うと、投稿や固定ページの本文中に短い記述を入れるだけで、決まったHTMLや処理を表示できます。
たとえば、注意ボックスを表示するショートコードは次のように作成できます。
PHPadd_shortcode( 'note_box', 'mytheme_note_box_shortcode' );
function mytheme_note_box_shortcode( $atts, $content = null ) {
$content = do_shortcode( $content );
return '<div class="note-box">' . wp_kses_post( $content ) . '</div>';
}
投稿本文では、次のように使います。
[note_box]ここに注意書きを入力します。[/note_box]
ポイントは、出力時に wp_kses_post() を使っていることです。ユーザーが入力した内容や本文に近いデータを出力するときは、エスケープやサニタイズを意識する必要があります。
5-4. CSS・JavaScriptを正しく読み込むカスタマイズ
WordPressでCSSやJavaScriptを読み込む場合、header.phpに直接linkタグやscriptタグを書くのではなく、wp_enqueue_style() や wp_enqueue_script() を使うのが基本です。
CSSを読み込む例は次のとおりです。
PHPadd_action( 'wp_enqueue_scripts', 'mytheme_enqueue_assets' );
function mytheme_enqueue_assets() {
wp_enqueue_style(
'mytheme-style',
get_stylesheet_uri(),
array(),
wp_get_theme()->get( 'Version' )
);
}
子テーマで独自のJavaScriptを読み込む例は次のとおりです。
PHPadd_action( 'wp_enqueue_scripts', 'mytheme_enqueue_script' );
function mytheme_enqueue_script() {
wp_enqueue_script(
'mytheme-main',
get_stylesheet_directory_uri() . '/assets/js/main.js',
array(),
'1.0.0',
true
);
}
この方法を使うと、WordPressが依存関係や読み込み位置を管理しやすくなります。テーマやプラグインとの衝突を減らすためにも、CSS・JavaScriptは正しい方法で読み込みましょう。
5-5. カスタム投稿タイプやウィジェットを追加するカスタマイズ
WordPressでは、functions.phpを使ってカスタム投稿タイプを追加できます。たとえば、「お知らせ」という投稿タイプを作りたい場合は、次のようなコードを使います。
PHPadd_action( 'init', 'mytheme_register_news_post_type' );
function mytheme_register_news_post_type() {
register_post_type(
'news',
array(
'labels' => array(
'name' => 'お知らせ',
'singular_name' => 'お知らせ',
),
'public' => true,
'has_archive' => true,
'menu_position'=> 5,
'menu_icon' => 'dashicons-megaphone',
'supports' => array( 'title', 'editor', 'thumbnail' ),
'show_in_rest' => true,
)
);
}
また、ウィジェットエリアを追加したい場合は、次のように記述できます。
PHPadd_action( 'widgets_init', 'mytheme_register_sidebar' );
function mytheme_register_sidebar() {
register_sidebar(
array(
'name' => 'サイドバー',
'id' => 'main-sidebar',
'description' => '投稿ページに表示するサイドバーです。',
'before_widget' => '<div class="widget">',
'after_widget' => '</div>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
)
);
}
カスタム投稿タイプやウィジェット追加は便利ですが、サイト構成に大きく関わるため、将来的な運用も考えて設計することが大切です。
5-6. コピペ前に確認すべきコードの安全性
ネット上には、WordPressのPHPカスタマイズコードが数多く掲載されています。しかし、すべてのコードが安全とは限りません。
コピペ前に、次の点を確認しましょう。
何をするコードなのか説明されているか
WordPressの標準関数を使っているか
古い情報ではないか
コメント欄でエラー報告が多くないか
セキュリティ上危険な処理が含まれていないか
eval、base64_decode、不自然な外部通信がないか
自分のテーマやプラグイン環境に合っているか
特に、ログイン、権限、データベース操作、ファイル操作に関わるコードは慎重に扱う必要があります。
意味がわからないコードをそのまま貼るのではなく、1行ずつ目的を確認し、テスト環境で試してから本番に反映しましょう。
6. PHP編集でよくあるエラーと対処法
6-1. 画面が真っ白になる原因と復旧方法
WordPressでPHPを編集した後に画面が真っ白になる現象は、「ホワイトスクリーン」と呼ばれることがあります。
主な原因は次のとおりです。
PHPの文法エラー
関数名の重複
存在しない関数の呼び出し
メモリ不足
プラグインやテーマの競合
PHPバージョンの互換性問題
復旧するには、まず直前に追加したコードを削除します。管理画面に入れない場合は、FTP・SFTPまたはサーバーのファイルマネージャーで対象ファイルを開き、追加したコードを取り除きます。
作業前にバックアップを取っていれば、編集前のファイルに戻すのが最も簡単です。
どのコードが原因かわからない場合は、エラーログやデバッグモードを使って原因を確認します。
6-2. 「重大なエラーが発生しました」と表示されたときの対処法
WordPressで「このサイトで重大なエラーが発生しました」と表示される場合、PHPのFatal errorが発生している可能性があります。
このメッセージが出た場合は、次の順番で対応しましょう。
直前に編集したファイルを確認する
追加したコードを削除する
バックアップファイルに戻す
FTP・SFTPでテーマまたはプラグインを一時的に無効化する
エラーログを確認する
PHPバージョンやプラグイン競合を確認する
WordPressにはリカバリーモードが用意されている場合があり、管理者宛に復旧用リンクが送られることもあります。ただし、メールが届かないケースもあるため、FTP・SFTPで復旧できる準備をしておくことが重要です。
6-3. Parse error・Fatal error・Warningの違い
PHPエラーにはいくつか種類があります。代表的なものを理解しておくと、原因を特定しやすくなります。
Parse errorは、PHPの文法エラーです。セミコロンの付け忘れ、括弧の閉じ忘れ、クォーテーションのミスなどで発生します。コードが正しく解釈できないため、サイトが表示されなくなることがあります。
Fatal errorは、処理を続けられない重大なエラーです。存在しない関数を呼び出した、同じ名前の関数を二重定義した、必要なファイルが読み込めないといった場合に発生します。
Warningは、注意が必要なエラーです。処理は続行されることが多いですが、放置すると不具合につながる可能性があります。
NoticeやDeprecatedは、今すぐサイトが止まるとは限りませんが、将来的な互換性やコード品質の面で修正したほうがよいメッセージです。
エラー文には、原因となったファイル名や行番号が表示されることがあります。まずはその場所を確認しましょう。
6-4. 管理画面に入れないときのFTP復旧手順
PHP編集後に管理画面へ入れなくなった場合は、FTP・SFTPで復旧します。
基本的な手順は次のとおりです。
FTP・SFTPでサーバーに接続する
WordPressの設置ディレクトリを開く
wp-content/themes/使用中テーマ/ を開く
直前に編集したfunctions.phpなどをダウンロードする
ローカルで編集し、追加したコードを削除する
修正したファイルをアップロードする
サイトと管理画面を再読み込みする
プラグインが原因の場合は、wp-content/plugins/ 内の対象プラグインフォルダ名を変更すると、そのプラグインを一時的に無効化できます。
たとえば、sample-plugin を sample-plugin-old に変更すると、WordPressはそのプラグインを読み込めなくなり、エラーが解消する場合があります。
ただし、プラグインによっては無効化で表示や機能に影響が出るため、復旧後に原因を確認しましょう。
6-5. 追加したコードを削除・無効化して元に戻す方法
PHP編集で不具合が出た場合は、まず直前に追加したコードを削除するのが基本です。
functions.phpに追加した場合は、追加した範囲だけを削除します。削除範囲がわからなくならないように、普段からコメントを付けておくと便利です。
PHP// ここから:ショートコード追加
add_shortcode( 'note_box', 'mytheme_note_box_shortcode' );
function mytheme_note_box_shortcode( $atts, $content = null ) {
return '<div class="note-box">' . wp_kses_post( $content ) . '</div>';
}
// ここまで:ショートコード追加
コードスニペット系プラグインを使っている場合は、該当スニペットを無効化します。管理画面に入れない場合は、プラグインフォルダを一時的にリネームして無効化する方法もあります。
テーマファイルを編集した場合は、バックアップしておいた編集前のファイルをアップロードして戻します。
6-6. デバッグモードでエラー内容を確認する方法
WordPressでは、wp-config.phpに設定を追加することでデバッグモードを有効化できます。
代表的な設定例は次のとおりです。
PHPdefine( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
この設定により、エラー内容を画面に表示せず、wp-content内のdebug.logに記録できます。WordPress公式ドキュメントでも、WP_DEBUG_LOGを有効にするとdebug.logにエラーを保存できると説明されています。
ただし、本番サイトでデバッグ情報を画面に表示するのは避けましょう。ファイルパスや内部情報が表示され、セキュリティ上のリスクになる可能性があります。
確認が終わったら、デバッグモードは無効に戻します。
PHPdefine( 'WP_DEBUG', false );
7. WordPressのPHP編集でやってはいけないこと
7-1. 親テーマのfunctions.phpを直接編集する
親テーマのfunctions.phpを直接編集するのは避けましょう。テーマ更新時に変更内容が消える可能性があるからです。
また、親テーマに直接手を入れると、どこが元のコードでどこが自分の変更なのか分かりにくくなります。後から不具合が起きたとき、原因の切り分けが難しくなります。
functions.phpにコードを追加するなら、子テーマのfunctions.phpを使うか、コードスニペット系プラグイン、または独自プラグインで管理しましょう。
7-2. バックアップなしでPHPを変更する
バックアップなしでPHPを変更するのは非常に危険です。
PHPは小さなミスでもサイト全体に影響します。特にfunctions.php、wp-config.php、テンプレートファイルを編集するときは、必ず編集前のファイルを保存しておきましょう。
最低でも、次のような形でバックアップを取ります。
編集前のファイルをローカルにダウンロードする
ファイル名を変えてコピーを作る
サーバーのバックアップ機能を使う
バックアッププラグインでサイト全体を保存する
「少しだけの修正だから大丈夫」と思っても、必ずバックアップを取ってから作業しましょう。
7-3. ネット上のコードを意味がわからないままコピペする
WordPressのPHPカスタマイズでは、ネット上のコードを参考にすることがよくあります。しかし、意味がわからないままコピペするのは危険です。
古いWordPress向けのコード、現在のPHPバージョンではエラーになるコード、セキュリティ対策が不十分なコードが含まれていることもあります。
特に次のようなコードには注意が必要です。
外部サイトへ通信するコード
暗号化・難読化されているコード
evalを使っているコード
base64_decodeを不自然に使っているコード
データベースを直接変更するコード
管理者権限やログイン処理に関わるコード
コピペする前に、コードの目的、影響範囲、削除方法を確認しましょう。
7-4. プラグインやWordPress本体のPHPファイルを直接編集する
WordPress本体のPHPファイルやプラグイン本体のファイルを直接編集するのは避けましょう。
WordPress本体のファイルは、アップデート時に上書きされます。また、本体ファイルを変更すると、セキュリティ更新や不具合修正を適用しづらくなる可能性があります。
プラグインも同様です。直接編集すると、プラグイン更新で変更内容が消えます。さらに、プラグインの内部処理を壊してしまう可能性もあります。
カスタマイズしたい場合は、フック、フィルター、設定画面、子テーマ、独自プラグインなど、更新に強い方法を選びましょう。
7-5. 本番環境でいきなり編集する
本番環境でいきなりPHPを編集するのは、できるだけ避けましょう。
本番サイトでエラーが起きると、訪問者がページを見られなくなり、問い合わせや売上にも影響する可能性があります。企業サイトやECサイトでは、信用低下にもつながります。
安全な流れは次のとおりです。
バックアップを取る
ステージング環境で編集する
表示や機能を確認する
問題がなければ本番に反映する
本番反映後も再確認する
どうしても本番環境で作業する場合は、アクセスの少ない時間帯に行い、すぐに戻せる準備をしておきましょう。
8. PHPを編集せずにWordPressをカスタマイズする方法
8-1. テーマカスタマイザーで変更できること
WordPressでは、PHPを編集しなくてもテーマカスタマイザーから多くの変更ができます。
テーマによって項目は異なりますが、一般的には次のような設定が可能です。
サイトタイトル
キャッチフレーズ
ロゴ
サイトアイコン
メニュー
ウィジェット
色設定
背景画像
ホームページ設定
追加CSS
見た目の調整だけであれば、PHPを編集する前にテーマカスタマイザーで対応できないか確認しましょう。
特に初心者は、PHPよりもまずテーマの標準設定や追加CSSで対応するほうが安全です。
8-2. ブロックエディターやサイトエディターで変更できること
近年のWordPressでは、ブロックエディターやサイトエディターを使って、コードを書かずにページを編集できる範囲が広がっています。
ブロックエディターでは、投稿や固定ページ内で次のような編集ができます。
見出しや段落の追加
画像や動画の挿入
ボタンの設置
カラムレイアウトの作成
再利用パターンの作成
グループ化や余白調整
サイトエディターに対応したブロックテーマでは、ヘッダー、フッター、テンプレート、テンプレートパーツなども管理画面から編集できます。
以前ならPHPテンプレートを編集していたような変更でも、現在はサイトエディターで対応できる場合があります。まずは管理画面で変更できる範囲を確認しましょう。
8-3. プラグインで代替できるカスタマイズ
PHPを編集しなくても、プラグインで実現できるカスタマイズは多くあります。
たとえば、次のような機能はプラグインで代替できることが多いです。
お問い合わせフォーム
SEO設定
キャッシュ
セキュリティ対策
バックアップ
目次表示
人気記事表示
関連記事表示
カスタム投稿タイプ
リダイレクト設定
アクセス解析タグの設置
ただし、プラグインを入れすぎると、表示速度の低下や競合の原因になることがあります。必要な機能だけを選び、更新が止まっていない信頼できるプラグインを使いましょう。
8-4. PHP編集が必要なケースと不要なケースの見分け方
PHP編集が必要かどうかは、目的によって判断します。
PHP編集が不要なケースは、次のような場合です。
文字色や背景色を変えたい
余白やフォントサイズを調整したい
メニューを変更したい
ロゴを変更したい
記事内のレイアウトを変えたい
プラグインで実現できる機能を追加したい
一方、PHP編集が必要になるケースは、次のような場合です。
テーマの表示条件を細かく変えたい
独自のショートコードを作りたい
カスタム投稿タイプをコードで管理したい
テンプレートの構造を変更したい
WordPressのフックを使って処理を追加したい
プラグインでは実現できない独自機能を追加したい
初心者は、まず「管理画面」「テーマ設定」「追加CSS」「プラグイン」でできないか確認し、それでも難しい場合にPHP編集を検討しましょう。
9. WordPressのPHPバージョン管理と更新方法
9-1. 現在のPHPバージョンを確認する方法
WordPressで現在のPHPバージョンを確認する方法はいくつかあります。
もっとも簡単なのは、WordPress管理画面の「サイトヘルス」を使う方法です。
一般的には、次の手順で確認できます。
WordPress管理画面にログインする
「ツール」を開く
「サイトヘルス」を選択する
「情報」タブを開く
「サーバー」を確認する
PHPバージョンを確認する
また、レンタルサーバーの管理画面でもPHPバージョンを確認できます。サーバーによっては、ドメインごとにPHPバージョンを切り替えられる場合があります。
9-2. PHPバージョンが古いと起こる問題
PHPバージョンが古いと、次のような問題が起こる可能性があります。
セキュリティリスクが高まる
表示速度が遅くなる
新しいWordPress機能を使えない
最新テーマやプラグインが動作しない
サーバー会社のサポート対象外になる
エラーや警告が増える
WordPress本体は、できるだけ新しいPHPバージョンへの対応を進めていますが、テーマやプラグインも含めたサイト全体の互換性確認が必要です。公式のPHP互換性情報や、テーマ・プラグインの更新情報を確認してから変更しましょう。
9-3. サーバー管理画面でPHPを変更する手順
PHPバージョンの変更方法はサーバーによって異なりますが、一般的な流れは次のとおりです。
サイト全体のバックアップを取る
WordPress本体、テーマ、プラグインを更新する
利用中テーマ・プラグインのPHP対応状況を確認する
サーバー管理画面にログインする
PHP設定またはPHPバージョン切り替え画面を開く
対象ドメインを選択する
変更したいPHPバージョンを選択する
保存する
サイト表示と管理画面を確認する
変更後は、トップページだけでなく、投稿ページ、固定ページ、問い合わせフォーム、カート機能、ログイン画面なども確認しましょう。
9-4. PHP更新前に確認すべきテーマ・プラグインの互換性
PHPを更新する前には、テーマとプラグインの互換性を必ず確認します。
確認すべきポイントは次のとおりです。
テーマが現在も更新されているか
プラグインが長期間更新停止していないか
公式サイトや配布ページに対応PHPバージョンが書かれているか
レビューやサポートフォーラムで同様の不具合が報告されていないか
代替プラグインを用意できるか
ステージング環境で事前テストできるか
古いテーマやプラグインは、新しいPHPバージョンでDeprecatedやFatal errorを出すことがあります。特に有料テーマや独自開発プラグインを使っている場合は、開発元に確認するのが安全です。
9-5. PHP更新後に不具合が出た場合の戻し方
PHP更新後に不具合が出た場合は、まずPHPバージョンを元に戻します。
一般的な手順は次のとおりです。
サーバー管理画面にログインする
PHPバージョン切り替え画面を開く
変更前のPHPバージョンを選択する
保存する
サイトを再読み込みする
エラーが解消したか確認する
PHPバージョンを戻しても直らない場合は、テーマやプラグインの更新、キャッシュ削除、エラーログ確認を行います。
また、PHP更新直後にキャッシュプラグインやサーバーキャッシュが古いファイルを保持していることもあります。キャッシュを削除してから再確認しましょう。
10. WordPressでPHPを安全に扱うためのチェックリスト
10-1. 編集前のチェック項目
PHP編集前には、次の項目を確認しましょう。
サイト全体のバックアップを取った
編集するファイルのコピーを保存した
子テーマを使っている
FTP・SFTPで接続できる
サーバー管理画面にログインできる
ステージング環境で作業できる
追加するコードの目的を理解している
PHPバージョンを確認した
WordPress本体、テーマ、プラグインを更新した
復旧手順を確認した
これらを確認してから作業すれば、トラブル時の復旧がしやすくなります。
10-2. 編集中のチェック項目
PHP編集中は、次の点に注意しましょう。
一度に大量のコードを追加しない
変更箇所にコメントを残す
関数名に独自の接頭辞を付ける
PHPの開始タグ・終了タグに注意する
セミコロンや括弧の閉じ忘れを確認する
保存前にコードエディターで文法チェックする
不要な空白や全角記号が入っていないか確認する
1つ変更するごとに表示確認する
特に、ネット上のコードをコピペした場合は、全角スペースや不要な記号が混ざっていないか確認しましょう。
10-3. 編集後の動作確認項目
PHP編集後は、次の項目を確認します。
トップページが表示される
投稿ページが表示される
固定ページが表示される
管理画面にログインできる
投稿編集画面が開ける
メニューやウィジェットが正常に表示される
スマホ表示が崩れていない
お問い合わせフォームが送信できる
エラーメッセージが表示されていない
debug.logに新しいエラーが出ていない
表示速度が大きく悪化していない
PHP編集は、見た目だけでなく機能面にも影響します。サイト全体を一通り確認しましょう。
10-4. エラー発生時の復旧チェック項目
エラーが発生した場合は、慌てず次の順番で確認します。
直前に編集したファイルを確認する
追加したコードを削除する
バックアップファイルに戻す
FTP・SFTPで復旧する
プラグインを一時的に無効化する
テーマを一時的に変更する
PHPバージョンを元に戻す
debug.logを確認する
サーバーのエラーログを確認する
サーバー会社や制作者に相談する
原因がわからないまま何度も変更を重ねると、さらに状況が悪化することがあります。まずは直前の状態に戻すことを優先しましょう。
10-5. 初心者が困ったときに相談すべき相手・サービス
初心者がWordPressのPHP編集で困ったときは、無理に自力で解決しようとせず、適切な相手に相談しましょう。
相談先としては、次のような選択肢があります。
レンタルサーバーのサポート
テーマの公式サポート
プラグインの公式サポート
WordPressに詳しい制作会社
フリーランスのWordPressエンジニア
WordPressのコミュニティやフォーラム
特に、サイトが表示されない、管理画面に入れない、売上に関わるサイトで不具合が起きているといった場合は、早めに専門家へ相談したほうが安全です。
11. WordPressとPHPに関するよくある質問
11-1. WordPressでPHPの知識はどれくらい必要?
記事を書いたり、テーマを設定したり、プラグインを使ったりするだけなら、PHPの知識はほとんど必要ありません。
ただし、WordPressを細かくカスタマイズしたい場合は、PHPの基本を理解しておくと便利です。
最低限知っておきたい内容は次のとおりです。
変数
関数
条件分岐
配列
PHPの開始タグ
エラーの読み方
WordPressのフック
エスケープやサニタイズ
初心者は、いきなり難しいコードを書くよりも、まず既存コードの意味を読めるようになることを目標にしましょう。
11-2. functions.phpとプラグインはどちらを使うべき?
functions.phpとプラグインのどちらを使うべきかは、カスタマイズ内容によって異なります。
テーマの表示に関係する処理は、子テーマのfunctions.phpに書いてもよいでしょう。たとえば、テーマ用のCSS読み込みや表示調整などです。
一方、テーマを変更しても残したい機能は、プラグインやコードスニペット系プラグインで管理するほうが向いています。たとえば、ショートコード、カスタム投稿タイプ、管理画面の独自機能などです。
判断基準は、「その機能はテーマに依存しているか」です。テーマに依存するならfunctions.php、サイト機能として残したいならプラグイン側で管理するのがおすすめです。
11-3. PHPを編集するとサイトが消えることはある?
PHPを編集しただけで、通常は記事や画像データが完全に消えるわけではありません。投稿データや設定の多くはデータベースに保存されています。
ただし、PHPの編集ミスでサイトが表示されなくなることはあります。また、データベースを操作するコードを誤って実行すると、データが変更・削除される可能性もあります。
そのため、PHP編集前には必ずファイルとデータベースの両方をバックアップしておきましょう。
11-4. PHPファイルを編集できない原因は?
PHPファイルを編集できない原因には、いくつか考えられます。
ファイルの権限が不足している
サーバー側で編集が制限されている
テーマファイルエディターが無効化されている
セキュリティプラグインで制限されている
管理者権限でログインしていない
ファイル所有者が異なる
サーバーのWAFが影響している
WordPress管理画面で編集できない場合でも、FTP・SFTPやサーバーのファイルマネージャーから編集できることがあります。
ただし、権限をむやみに変更するのは危険です。必要以上に緩いパーミッションにすると、セキュリティリスクが高まります。わからない場合は、サーバー会社のマニュアルを確認しましょう。
11-5. PHPのエラーを防ぐ一番安全な方法は?
PHPのエラーを完全にゼロにすることは難しいですが、リスクを大きく減らすことはできます。
一番安全な方法は、次の流れを守ることです。
バックアップを取る
子テーマまたはテスト環境で作業する
コードの意味を理解する
少しずつ追加する
追加ごとに動作確認する
エラー時にFTP・SFTPで戻せるようにする
本番反映後も表示確認する
特に初心者は、「本番環境で親テーマのfunctions.phpを直接編集しない」ことが重要です。コードスニペット系プラグインや子テーマ、ステージング環境を活用し、安全に作業しましょう。
まとめ
WordPressでPHPを編集すると、サイトの表示や機能を柔軟にカスタマイズできます。functions.phpを使えば、ショートコードの追加、CSS・JavaScriptの読み込み、カスタム投稿タイプの作成など、さまざまな変更が可能です。
しかし、PHP編集は便利な反面、ミスをするとサイトが表示されなくなったり、管理画面に入れなくなったりするリスクがあります。初心者がWordPressのPHPを扱う場合は、必ずバックアップを取り、子テーマやステージング環境を使い、FTP・SFTPで復旧できる状態を整えてから作業しましょう。
また、すべてのカスタマイズにPHP編集が必要なわけではありません。テーマカスタマイザー、ブロックエディター、サイトエディター、プラグインで対応できる場合も多くあります。まずはPHPを編集せずに実現できないか確認し、それでも必要な場合だけ慎重にPHPを編集するのがおすすめです。
WordPressでPHPを安全に扱うための基本は、「直接編集しない」「バックアップを取る」「テストしてから反映する」「エラー時の戻し方を用意する」の4つです。この基本を守れば、初心者でもリスクを抑えながらWordPressをカスタマイズできます。

