WordPressを開くたび「PHPの更新が必要です」と出ているのに、手を付けられず放置していませんか。古いままではセキュリティと表示速度で確実に損をし、闇雲なWordPress PHPバージョンアップは真っ白画面や500エラーで売上そのものを止めます。多くの解説は対応表や更新方法だけを切り出しますが、それでは「自分の環境でどこまで上げていいか」「壊れたときにどこを見るか」が分からず、実務では使い切れません。
本記事は、WordPressとPHPの関係を図解レベルから押さえつつ、WordPress PHPバージョン確認と対応表の正しい読み方、レンタルサーバーごとの安全な更新手順、functions.phpやテーマテンプレート、固定ページ PHPショートコードなどのPHP編集の限界と安全ラインまでを一気通貫で整理します。さらに、PHP 7.4から8.0/8.1/8.2/8.3への移行で実際に起きたトラブルと復旧パターン、プラグインが原因のエラー切り分け、ログの読み方、そしてWordPressを入口にしたPHP入門ロードマップまで、現場基準で必要な情報だけを絞り込んでいます。
この記事を読み終える頃には、「いつ・どこまで・どうやってPHPを上げるか」「どこを編集し、どこに触れないか」を自信を持って判断できる状態になり、WordPressサイトを止めずに安全なバージョンアップとカスタマイズを進められるようになります。
目次
今さら聞けないWordPressとPHPの関係を図解でスッキリさせよう
画面は普通に表示されているのに、ある日「PHPの更新が必要です」と警告が出た瞬間、多くの担当者は一気に不安になります。ここをモヤモヤのまま放置すると、バージョンアップの判断もカスタマイズの相談もすべてが怖くなります。まずは、WordPressとPHPの関係を“頭の中に1枚の図”として描ける状態を目指しましょう。
WordPressがPHPで動くってどういうこと?HTML生成の流れでイメージしてみよう
WordPressは「PHPで作られたブログアプリ」です。PHPは“注文を受けて料理を出すシェフ”、ブラウザは“お客さん”、HTMLは“テーブルに出てくる料理”と考えると整理しやすくなります。
ページ表示の流れをざっくり文字で図解すると、次のようになります。
- ブラウザが「/news/123」にアクセス
- サーバーが index.php や single.php をPHPとして実行
- PHPがMySQLに「この投稿IDのタイトルと本文をちょうだい」と問い合わせ
- 返ってきたデータをPHPがテンプレートタグやループでHTMLに組み立て
- 完成したHTMLだけがブラウザに届き、ユーザーが読む
ここでのポイントは、ユーザーはPHPそのものを一切見ていないということです。目にしているのは、PHPがその場で組み立てたHTMLだけです。ですから、functions.phpやテンプレートを触るというのは、「料理のレシピを書き換える行為」にあたります。
PHPが無いと何が起きる?WordPressのサーバー要件とMySQLとの密接な関係
PHPは、WordPressが動くための“エンジン”です。PHPが使えないサーバーにインストールしようとすると、インストール画面の代わりに、意味不明なソースコードがブラウザにそのまま表示されてしまいます。これは、サーバーがPHPとして解釈できず、ただのテキストとして流している状態です。
WordPressが要求する主なサーバー要件を整理すると、次のような関係になります。
| 要素 | 役割 | 無いとどうなるか |
|---|---|---|
| PHP | テンプレートやプラグインを動かす | 画面が真っ白、またはコードが丸見えになる |
| MySQL系DB | 投稿や設定を保存する | 投稿が保存できない、インストール不可 |
| Webサーバー(Apache等) | リクエストの受付と配信 | そもそもアクセスできない |
サーバー会社が「WordPress簡単インストール」や「PHP8.1対応」とうたっているのは、この3つの組み合わせをWordPress向けに整えている、という意味です。PHPバージョンだけを見ても安心できない理由は、MySQLのバージョンやモジュール(Imagick、GD、mbstringなど)との相性も影響するからです。
「WordPressはPHPに対応してる?」実務でのスマートな答え方
「このWordPressはPHPに対応しているのか」「PHP8にしても大丈夫か」と聞かれた時、実務レベルでは次の3点をセットで確認するのが安全です。私の視点で言いますと、ここを外すと判断ミスが一気に増えます。
-
コア(本体)が対応しているPHPバージョン
-
使用中テーマと主要プラグインが“動作確認済み”としているPHPバージョン
-
現在使っているサーバーのPHPとMySQLのバージョン
この3つを踏まえたうえで、スマートな回答の型は次の通りです。
-
本体の対応状況
「今のWordPress本体はPHP8.0まで公式に対応しています」
-
テーマ・プラグインの実績
「使っているテーマと主要プラグインはPHP7.4〜8.0で動作確認済みとされています」
-
結論としての“落としどころ”
「現状ではPHP7.4から8.0に上げるのが、安定と安全性のバランスが良さそうです。8.1以降にする場合はテスト環境での確認が必要です」
このように、本体・プラグイン・サーバーの3点セットで説明できると、経営層やクライアントからの信頼度も一気に変わります。単に「対応してます」「最新がおすすめです」と返すのではなく、どこまでが“公式の言い分”で、どこからが“現場の安全ライン”なのかを切り分けて伝えることが、トラブルを避けながら更新判断を進める鍵になります。
あなたの今は大丈夫?WordPressとPHPの対応表で自分の環境を見てみよう
サイトが売上の生命線なのに、サーバーから「PHPの更新が必要です」と出てくると、心臓がヒヤッとしますよね。ここでは、難しい話をそぎ落として「自分の今が安全かどうか」を一発で判断できる視点をまとめます。
WordPressとPHP対応表のカンタン読み解き――推奨と最低要件はこう違う
対応表を見る時は、まずこの2本柱だけ押さえると迷いません。
-
最低要件 = 「ギリギリ動くライン」
-
推奨バージョン = 「現場で安心して任せられるライン」
最低要件ギリギリで運用していると、車で言えば常にガソリンランプが点いた状態です。今すぐ止まりはしなくても、トラブルが起きた時に逃げ場がありません。私の視点で言いますと、本番サイトは必ず「推奨」側に寄せておくことが安全運用の前提になります。
対応表を見るときのチェックポイントを整理すると、次の3つです。
-
自分のWordPressバージョンがサポート対象か
-
そのWordPressが正式に対応しているPHPバージョンの範囲
-
使用中テーマや主要プラグインの「動作確認済みPHP」
この3つの重なるゾーンが、今取れる安全圏です。
PHP7.4・8.0・8.1・8.2・8.3で何が起きる?現場で納得の「落としどころ」
PHPの違いは「どこまで新しい安全装置とエンジン性能を使うか」の違いです。実務でよく相談されるのは7.4から8系に上げるタイミングなので、現場での感覚を整理します。
| PHP系統 | 現場の肌感覚 | メリット | 注意ポイント |
|---|---|---|---|
| 7.4 | そろそろ卒業候補 | 古いテーマやプラグインが動きやすい | セキュリティと性能で見劣り |
| 8.0 | 7系からの最初の乗り換え先 | 速度アップを体感しやすい | 古い独自コードがエラーになりやすい |
| 8.1 | 今の安定ライン候補 | 対応テーマも増え実務向き | 一部レガシープラグインが落ちる |
| 8.2 | 新しめだが実戦投入域 | 最新テーマやプラグイン向き | 制作会社独自コードの検証が必須 |
| 8.3 | 先行テスト用の位置づけ | 性能と新機能を早期利用 | 本番は検証環境での確認が前提 |
特に注意したいのが、制作会社が数年前に書いた独自PHPコードです。7.4では黙って動いていた書き方が、8系ではエラーとして表に出てきます。見た目は一般的なコーポレートサイトでも、内部に古い構文が眠っていることは珍しくありません。
古いPHPを放置するリスクvs.バージョンアップしすぎるリスクを徹底比較
「怖いから今のままでいいや」と「せっかくだから一気に最新へ」の両極端は、どちらも危険です。よくある失敗パターンを、リスク目線で比較してみます。
| 方針 | 一見ラクに見える理由 | 実際のリスク | 起きやすいトラブル例 |
|---|---|---|---|
| 古いまま放置 | 今は動いているから安心に見える | 脆弱性放置、サポート切れ、速度低下 | ある日突然マルウェア、問い合わせフォームだけ迷惑メール増加 |
| 一気に最新へ | 「最新=正義」と感じる | テーマとプラグインが追いつかない | 真っ白画面、500エラー、特定プラグインだけ動かない |
| 対応表を見て一段階ずつ上げる | 手順が増えるように見える | 検証しながら進められる | 事前にテスト環境で不具合を炙り出せる |
安全に進めたいサイト担当者にとって狙うべきは、「対応表で推奨されている一段階下〜推奨ど真ん中」です。例えば、テーマと主要プラグインが8.1まで正式対応と明記されているなら、本番は8.1で止めておき、8.2や8.3はステージング環境で様子を見る、という運用が現場では多く取られています。
ポイントは、「どのバージョンなら安心か」を考える前に、自分のWordPressとテーマとプラグインがどこまで追随できているかをテーブルで整理してみることです。この一手間で、ホワイトスクリーンや500エラーのほとんどは未然に防げます。
まずは今をチェック!WordPressやサーバーでPHPバージョンを安全に確かめる方法
「PHPの更新が必要です」と警告が出た瞬間、多くのサイト担当者の頭に浮かぶのは「触って壊れたらどうしよう」です。実は、更新より前にやるべき本当の一手は、いま動いている環境を正確に把握することです。ここを丁寧に押さえるだけで、後のトラブル率が一気に下がります。
WordPressダッシュボードやサイトヘルスからPHPバージョンを今すぐチェック
まずは管理画面から、リスクゼロで現在のPHPやWordPressの状態を確認します。
- 管理画面にログインし、メニュー「ツール」→「サイトヘルス」を開く
- 「情報」タブ→「サーバー」セクションを表示
- 「PHP バージョン」「サーバーの種類」「データベースバージョン」を確認
ここで見るべきポイントを表にまとめます。
| チェック項目 | 見る場所 | 現場での意味合い |
|---|---|---|
| PHPバージョン | サーバー | 更新の要否と、対応表での危険度の判定軸 |
| WordPressのバージョン | 概要/更新 | 古いとPHPだけ上げても不安定になりやすい |
| データベースバージョン | サーバー情報 | MySQL/MariaDBの対応状況をざっくり把握 |
特に推奨よりかなり古いPHP+WordPressだけ新しめというねじれ構成は、バージョンアップ時にエラーが出やすいパターンです。ここで状況をスクリーンショット保存しておくと、万が一トラブルが起きた際に、制作会社やサーバーサポートへ相談するときの「診察券」代わりになります。
レンタルサーバー管理画面でPHPやMySQLバージョンを見抜くコツ
次に、レンタルサーバー側の設定を確認します。同じWordPressでも、エックスサーバー・さくら・ロリポップなど、サーバーごとに画面構成が違うため、探す場所の考え方を覚えておくと安心です。
よくある配置はこの3パターンです。
-
サーバーパネルの「PHP設定」「PHPバージョン切替」
-
ドメインごとの設定画面内の「PHP」タブ
-
「データベース」メニュー内でMySQLバージョンを表示
ポイントは、ドメイン単位でPHPが分かれているかどうかを必ず確認することです。複数サイトを同一サーバーに入れている場合、1つだけPHPを上げたつもりが、別の古いサイトまで巻き込んでエラー…という現場トラブルが後を絶ちません。
私の視点で言いますと、管理画面を開いたら、次の順でメモを取ると安全度が一気に上がります。
-
どのドメインが、どのPHPバージョンで動いているか
-
それぞれのドメインに、どのWordPressが入っているか
-
データベース名と対象ドメインの対応関係
この「対応表」を一度作っておくと、PHPバージョンアップ手順を検討するときに、どこから安全に手を付けるべきかを冷静に判断できます。
phpinfoやinfo.phpの使いみちと注意しておきたい落とし穴
現場のエンジニアが詳細な環境を確認するときに使うのが、phpinfoです。専用のファイルを1つ置くだけで、拡張モジュールやタイムゾーン、メモリ制限など細かい情報が一覧表示されます。
とはいえ、サイト担当者がこれを扱うときには2つの落とし穴があります。
-
公開ディレクトリに置きっぱなしにしてしまい、誰からでも環境情報が丸見えになる
-
削除し忘れて、セキュリティ診断で指摘される
安全に使うなら、次のルールを守るのがおすすめです。
-
ファイル名は推測されにくいものにする(info.phpのままにしない)
-
必要なときだけFTPでアップロードし、確認が終わったらすぐ削除する
-
表示された内容はスクリーンショットかPDFで保存し、サーバー上には残さない
phpinfoでしか分からない情報は、プラグインの動作要件との突き合わせに役立ちます。特に、古い業務用プラグインや独自開発のコードは、特定の拡張モジュールや設定値に依存していることがあり、PHPだけを上げても裏側の設定が足を引っ張るケースがあります。
この「WordPress側で見る情報」と「サーバー管理画面」「phpinfo」の3つを組み合わせて現在地を見極めると、PHPバージョンアップやテーマ編集を進めるときに、闇雲な「怖さ」から、根拠のある「ここまでは安全」という感覚へ切り替えられます。ここまで押さえられれば、次のステップである実際の更新作業やトラブル対策も、かなり戦いやすくなります。
PHPバージョンアップは手順がすべて!WordPressでやる前後の必須チェックリスト
PHPの更新は「クリック1回」ですが、サイトを守れるかどうかはその前後の段取りで9割決まる作業です。ここでは、保守案件を日常的に扱っている私の視点で言いますと「ここだけ押さえれば致命傷は避けられる」というラインをまとめます。
バックアップ・ステージング環境はどこまでやる?現場基準で「ここが安全ライン」
本音を言うと理想は「ステージング環境+フルバックアップ」ですが、小規模サイトでそこまで手をかけられないケースも多いです。そこで、現場での安全ラインは次の組み合わせで考えます。
-
最低ライン
- データベースのバックアップ(phpMyAdminやプラグイン)
- wp-content(テーマ・プラグイン・アップロード)のバックアップ
-
推奨ライン
- 上記に加えて、サーバー会社の「アカウント単位バックアップ」も取得
-
余裕があるなら
- ステージング環境でPHPを先に切り替え、動作確認してから本番へ反映
目安は「戻し方を自分で説明できるかどうか」です。
戻す手順が口頭で説明できない状態なら、まだバックアップが足りていません。
テーマやプラグインのPHP対応状況を効率よく確かめる方法
全プラグインのコードを読むのは非現実的なので、「壊れやすい場所」から優先して確認します。
-
コンタクトフォーム、予約、ECなど売上直結プラグイン
-
有効インストール数が少ない、または最終更新が古いプラグイン
-
制作会社が独自開発したプラグインやテーマ
確認のポイントは次の通りです。
-
配布サイトの説明文にある「対応PHPバージョン」「対応WordPressバージョン」
-
変更履歴に「PHP8対応」「deprecated対応」などの記載があるか
-
テーマのfunctions.phpに古い書き方(create_functionなど)が残っていないか
特に、「業務システムと連携しているプラグイン」+「数年前に作りっぱなし」の組み合わせは、PHP更新でエラーになりやすいゾーンです。
PHPの更新や戻し方、一般的なレンタルサーバーごとの実践パターン整理
多くのレンタルサーバーでは、管理画面からPHPバージョンを切り替えるだけで完了しますが、運用のクセが少しずつ違います。代表的なパターンを整理すると次のようになります。
| パターン | よくある仕様 | 注意ポイント |
|---|---|---|
| ドメイン単位で切替 | マルチドメインごとに設定 | サブドメインを別設定にしていないか確認 |
| ディレクトリ単位で切替 | .htaccessや設定ファイルで指定 | サブディレクトリだけ古いPHPが生きているケース |
| アカウント一括切替 | 1つ変えると全サイトに反映 | テスト用サブサイトもまとめて影響 |
更新前に「どの単位で切り替わるサーバーなのか」を把握しておかないと、別の古いサイトまで巻き込んで落としてしまうことがあります。戻し方も同じ画面から選び直すだけですが、慌ててプラグインやテーマを削除する前にPHPを元に戻すのが先です。
PHPバージョンアップでWordPressのSEOや表示速度はこんなに変わる!
PHPの更新は、セキュリティのためだけではありません。体感できるレベルで、ページの「読み込みの速さ」も変わります。
-
同じテーマとプラグイン構成でも、古いPHPと比べてページ生成時間が短くなる
-
データベースとのやり取りやループ処理が高速になり、管理画面も軽く感じられる
-
高速化プラグインやキャッシュと組み合わせると、CLSやLCPなどの指標改善にもつながる
検索順位はアルゴリズムが複雑なので「PHPを上げれば必ず上がる」とは言えませんが、表示が遅いサイトはそもそもユーザーに読まれないという意味で、大きな差になります。逆に、対応していないテーマやプラグインを使ったまま無理に最新PHPへ上げると、500エラーやホワイトスクリーンで「SEOどころではない」状態になってしまいます。
安全な手順と現実的なバックアップラインさえ押さえておけば、PHP更新は「怖いイベント」から「サイトの価値を底上げするチューニング作業」へ変わります。サイト担当者の方は、一度このチェックリストを手元に置いて、自分の環境に当てはめてみてください。
真っ白画面や500エラーでパニック?PHP更新時の本当のトラブルと復旧までのリアルストーリー
PHPの更新やテーマ編集をした直後に、画面が真っ白・500エラー・管理画面も開かない。売上が飛びそうなこの瞬間に大事なのは、「焦って触りまくらないこと」です。ここでは現場で何度も見てきたトラブルパターンと、最短で復旧するための現実的な手順をまとめます。
私の視点で言いますと、ポイントは「どこを壊したかを特定して、そこだけ戻す」ことです。全部を初期化するのは最後の最後だけにしておきましょう。
「functions.phpを1行直して真っ白」鉄板ミスと復旧のレスキューマニュアル
真っ白画面のほとんどは、functionsファイルやテンプレートファイルの文法エラーです。特に、テーマエディターで直接編集した直後に起きやすいです。
代表的な流れはこのパターンです。
-
テーマエディターでfunctionsを編集
-
上書き保存
-
サイトも管理画面も真っ白/500エラー
この場合のレスキュー手順は次の通りです。
- FTPかファイルマネージャーで接続
- wp-content/themes/使用中テーマ/functions.php をダウンロード
- 直前にコピペしたコードを削除、もしくは元のバックアップと差し替え
- 上書きアップロードしてブラウザを更新
ポイントは、テーマを別のものに一時切り替えると管理画面に入れるケースがあることです。管理画面にアクセスできるなら、外観→テーマでデフォルトテーマに切り替え、エラーのあるテーマをゆっくり修正します。
PHP更新後あるある!プラグインの致命的エラーの見極めPoint
PHPバージョンアップ後に多いのは、「特定のプラグインだけが古い構文を使っていて落ちる」ケースです。サイト全体ではなく、問い合わせフォームだけ送信できない、予約システムだけエラーになる、といった部分的な不具合もよくあります。
判断のポイントは次の2つです。
-
エラー画面に「plugin/○○/…」とプラグインフォルダ名が出ていないか
-
wp-content/plugins/配下のうち、数年前から更新されていないプラグインがないか
プラグインが疑わしい場合は、管理画面に入れればプラグイン一覧で一括無効化、入れなければFTPでpluginsフォルダ名を一時的に「plugins_off」に変更して、全プラグインをまとめて止めます。復旧したら、1つずつ有効化して問題のプラグインを特定します。
ログの読み方と「プラグインを感覚で全消し」しない安全な復旧方法
闇雲にプラグインやテーマを削除すると、逆に復旧が難しくなります。まずはエラーログと画面に出ているメッセージから、原因のファイルを絞り込みましょう。
代表的なチェックポイントを表にまとめます。
| 症状 | 見る場所 | 最初に疑うポイント |
|---|---|---|
| 真っ白画面 | error_log / サーバーログ | functionsやテンプレートの文法エラー |
| 500エラー | サーバーログ | PHPバージョン変更直後のプラグイン |
| 管理画面だけ表示されない | wp-adminアクセス時のログ | 管理系プラグイン、セキュリティ系 |
| 特定ページだけエラー | 該当URLアクセス時のログ | そのページで使うショートコード |
安全な復旧の流れは、次の順番を守ると事故が少なくなります。
- ログとエラーメッセージで「どのファイル」が落ちているか確認
- 該当するテーマファイルかプラグインを一時停止または元に戻す
- サイトが復旧したら、代替プラグインの検討やコード修正を行う
「削除」ではなく「無効化」や「リネーム」で止めることが、後戻りできるラインを確保するコツです。
よくあるトラブル実例で学ぶ!WordPressとPHP再発防止のコツ
最後に、現場で頻出するパターンと、その後の対策を整理します。
-
PHPを上げたら旧式の予約プラグインだけ動かなくなった
→ プラグインの開発が止まっていたため、PHP7系で止めるか、別システムに移行する判断が必要になりました。
-
制作会社が独自に書いた古いコードが、PHP8系でエラー連発
→ functions内やmu-pluginsのコードを洗い出し、カスタムコードの一覧をドキュメント化してから改修しました。
-
本番環境でいきなりPHPを切り替え、営業時間中にサイトダウン
→ 以後は、ステージング環境でPHPを切り替えてから本番に反映する運用ルールを徹底しました。
再発防止のために、最低限次の3つだけは習慣にしておくと安心です。
-
PHP更新前に、テーマと主要プラグインの「対応バージョン」を事前チェック
-
月に1回は、サーバー側のバックアップとエラーログの存在を確認
-
functionsやテンプレートを触る前に、必ず元ファイルをローカルに保存
パニック状態の時ほど、冷静なチェックリストが効きます。今日のうちに、バックアップ手順と復旧の流れを1枚のメモにまとめておくと、いざという時に「自分のサイトを自分で守れる」強い武器になります。
WordPressでPHPを書く場所をまるごとマップ化!functions.phpやテンプレート・ショートコード活用術
「どこを触ればいいか分からないから、毎回テーマファイルエディターを開くのが怖い」
そんな状態を抜け出す近道は、PHPを書く“住所”をはっきりさせることです。住所さえ分かれば、迷子にもなりにくくなります。
まず全体マップから整理します。
| 書く場所 | 役割 | 向いていること | リスク感 |
|---|---|---|---|
| テンプレートファイル | 表示レイアウトと構造 | 投稿一覧、詳細ページの見た目 | 中 |
| functions.php | サイト全体の機能追加 | カスタム機能、フック、ショートコード | 高 |
| プラグイン | 機能を独立して管理 | 大きめの機能追加や配布 | 低〜中 |
| ショートコード | 本文から関数を呼び出す窓口 | 固定ページ内に動的パーツを挿入 | 低 |
私の視点で言いますと、トラブルの多くは「本来テンプレートでやるべきことをfunctions.phpに書く」「本文にPHPを書こうとして詰む」ときに起きています。
front-page.phpやsingle.phpなどテンプレートファイルとPHPがつながるポイント
テンプレートファイルは「どのURLで、どのPHPファイルが呼ばれるか」を決める地図です。代表的なものを押さえると、ぐっと見通しが良くなります。
-
front-page.php: トップページ専用。ランディングページ的なレイアウトを作る場所
-
home.php: ブログ一覧用。記事のループ処理をカスタマイズしやすい場所
-
single.php: 投稿の詳細ページ。本文の前後に広告やCTAを出したいときに触る
-
page.php: 固定ページの共通レイアウト
-
archive.php: カテゴリー一覧や日付アーカイブなどの一覧ページ
テンプレートに書くPHPは、基本的に「表示ロジック」です。ループ処理、条件分岐、カスタムフィールドの表示など、画面に関わる処理をここに寄せると、後から見返しても迷いません。
逆に、メール送信や外部API連携など、表示に直接関係しない処理をテンプレートに書き始めると、あとで機能を使い回すときに苦労します。このレベルの処理はfunctions.phpか専用プラグイン側に逃がした方が安全です。
functions.php・カスタム関数・ショートコードの使い分けをマスターしよう
functions.phpは「テーマ専用のミニプラグイン置き場」と考えると整理しやすくなります。
-
テーマ全体の設定
- メニューやサムネイルのサポート追加
- スクリプトやCSSの読み込み登録
-
共通で使うカスタム関数
- 日付の整形、自社独自のデザインパーツ生成など
-
ショートコードの定義
- 本文から呼び出せる“あだ名”をつけるイメージ
ここで重要なのが「カスタム関数とショートコードの線引き」です。
-
カスタム関数だけで完結させるケース
- テーマ内のテンプレートからだけ呼び出せば良いロジック
- 例: ヘッダーとフッターに同じバナーを出す処理
-
ショートコードにするケース
- 固定ページや投稿本文の好きな位置に差し込みたい要素
- 例: 料金表、期間限定のカウントダウン、問い合わせボタンブロック
functions.phpは1文字のミスでサイトが真っ白になる“高リスク地帯”です。編集前には必ずバックアップを取り、可能ならFTPソフトやファイルマネージャー経由で編集し、画面が真っ白になっても戻せる状態を確保しておくと、作業の心理的負担がかなり軽くなります。
固定ページや投稿にPHPが書けないワケとショートコード・専用プラグイン活用の目安
ブロックエディターやクラシックエディターの本文欄は、基本的にHTMLと短い記法だけを受け付ける仕組みになっています。ここにPHPを直接書いても、サーバー側では「ただの文章」として扱われるため、処理は実行されません。
これはセキュリティと安定性を守るための仕様です。もし管理画面から自由にPHPを実行できてしまうと、誤記述1つでサイト全体が落ちたり、不正アクセス時に一気に乗っ取られたりするリスクが跳ね上がります。
そこで登場するのがショートコードと専用プラグインです。
-
ショートコード向きのケース
- 「この記事のここだけ動的にしたい」という程度の小さな機能
- 例: 期間限定キャンペーンのカウントダウン、1箇所の問い合わせボタン
-
専用プラグイン向きのケース
- 管理画面に設定ページが欲しい
- 複数サイトで再利用したい
- テーマを変えても機能を残したい
本文内でPHPの処理をしたくなったときは、
「本当に本文から呼ぶべきなのか」
「ショートコードで呼び出せる関数として切り出せないか」
を一度立ち止まって考えると、コードの寿命と安全性が一気に上がります。
住所が分かれば、怖かった管理画面も“自分でコントロールできる領域”に変わります。まずはテンプレート、functions.php、ショートコード、それぞれの役割を今日の作業ノートに書き出し、どの処理をどこに置くかを意識するところから始めてみてください。
WordPressカスタマイズで使うPHPならこれだけ!最短ルートで実務レベルに伸ばすロードマップ
「ゼロからPHPを制覇」ではなく、「サイトを壊さずテーマを安心して触れるレベル」まで、一気にショートカットするロードマップをまとめます。私の視点で言いますと、サイト担当者がここだけ押さえれば、制作会社に毎回おびえながら連絡する状態からは卒業できます。
PHP入門書の「ここだけ押さえればテーマ編集も怖くない」実践ポイント
PHP入門書を最初から最後までやる必要はありません。テーマ編集とfunctionsファイルに絞るなら、次の範囲だけで十分実務に耐えます。
最初に押さえるべきPHPの基礎
-
変数と配列($post や $args を怖がらないため)
-
if文・比較演算子(条件分岐の読解に必須)
-
foreach文(ループが何をしているか理解するため)
-
関数の定義と引数・戻り値
-
配列関数(count, in_array 程度)
この時点でおすすめなのは、「コードを読む時間7割 / 自分で書く時間3割」のバランスにすることです。実務ではゼロから書くより、既存テーマのコードを読み解いて少し変更する場面が圧倒的に多いためです。
学習範囲をざっくり表にすると次のようになります。
| 学習テーマ | どのくらい深くやるか | 実務での出番 |
|---|---|---|
| 変数・配列 | 仕組みを理解して自分でも宣言できるレベル | ほぼ常に使う |
| if・比較 | 条件式を読めて1行追加できるレベル | 表示制御で頻出 |
| ループ | foreachの中で何が繰り返されているか把握 | テンプレートで常用 |
| 関数 | 既存関数に引数を追加・変更できるレベル | functions編集で必須 |
| クラス | 用語だけ知っておく程度 | プラグイン開発以降 |
テンプレートタグ・ループ・フックなどWordPressならではのPHPの学び方
WordPress独自の仕組みを、PHPの文法とセットで覚えると定着が一気に早まります。ポイントは「テンプレートのどこで、どのフックが、どの順番で動くか」をざっくり地図化することです。
優先して覚えたいWordPress側のキーワード
-
テンプレートタグ: the_title, the_content, the_permalink など
-
ループ: have_posts, the_post を使ったメインループ
-
アクションフック: init, wp_enqueue_scripts, wp_head, wp_footer
-
フィルターフック: the_content, the_title, body_class
学び方のおすすめ手順は次の通りです。
- 既存テーマのindexファイルやsingleファイルから、ループ部分だけを抜き出して読む
- the_titleなどテンプレートタグの公式リファレンスで「引数と返り値」を確認
- functionsファイルに書かれているadd_action・add_filterを探し、「どのフックにどの関数がぶら下がっているか」を紙に書き出す
- フックに登録されている関数の中で、if文やループの役割を1つずつ言語化してみる
このプロセスを1サイト分やると、「どこを触ると何が壊れるか」という感覚がかなりつかめるようになります。
Udemyや学習サイト・書籍、挫折しない選び方と進め方のコツ
教材選びでつまずくと、コードに触れる前に心が折れてしまいます。ここでは、サイト運営者や非エンジニアが現実的に続けやすい組み合わせを整理します。
役割ごとのおすすめ構成
| 目的 | 向いている教材タイプ | 選ぶときのチェックポイント |
|---|---|---|
| PHP文法の基礎を固める | 書籍・無料学習サイト | サンプルコードが短いこと |
| WordPress特有の実務 | Udemyや動画講座 | テーマ編集を実演しているか |
| エラー対応力をつける | 技術ブログ・コミュニティQ&A | functionsの失敗例があるか |
挫折しないための進め方は、次の3ステップが鉄板です。
-
1週目: PHP入門書で変数〜関数までをさらっと通読(完璧を目指さない)
-
2週目: 自分のテスト環境で子テーマを作成し、テンプレートタグを書き換えてみる
-
3週目: Udemyや動画講座で、フックやショートコードを実装する様子を真似して手を動かす
このとき、必ず「本番とは別のテスト用サイト」「FTPかファイルマネージャーで即座に元に戻せる環境」を用意しておくと、思い切ってコードを触れるようになります。
PHPの世界を全部理解しようとすると数年かかりますが、テーマ編集とfunctionsファイルの安全なカスタマイズに限定すれば、数週間の集中で十分現場レベルに届きます。学ぶ範囲を意図的に絞り込みながら、一歩ずつコードへの恐怖心を減らしていくのが最短ルートです。
現場のリアルなWordPressとPHP失敗談から学ぶ、ネットにはない運用テクニック
「警告が出たからPHPを上げたら、売上ページだけ落ちた」
このパターン、制作現場では珍しくありません。表向きはきれいに動いているサイトでも、水面下では古いコードと最新バージョンが綱引きしていることが多いからです。
ここでは、マニュアルではまず語られない“やらかし後”のリアルな対処法に絞って整理します。
PHP7.4から8.1にWordPressをバージョンアップしてプラグインが壊れた時、プロが必ず見るところ
PHP7.4から8系への更新で多いのは、特定プラグインだけが「致命的エラー」で落ちるケースです。プロは感覚で触らず、次の順番で機械的に切り分けます。
- サーバーのエラーログを確認
- どのプラグインのどのファイルで止まっているか特定
- そのプラグインの更新履歴と対応バージョンを確認
- 一時的にPHPを元のバージョンに戻し、代替手段を検討
ポイントは「画面」ではなく「ログ」を起点にすることです。目視だけだと、フォームだけ壊れている、決済だけ通らない、といった致命傷を見落とします。
代表的なチェックポイントを表にまとめます。
| 確認する場所 | 目的 | 見るべきポイント |
|---|---|---|
| エラーログ | 落ちた原因の特定 | プラグイン名・ファイル名・行番号 |
| プラグイン詳細画面 | 対応バージョンの確認 | Tested up to PHP / WordPress 表記 |
| 開発元サイト | 実務的な安定情報 | フォーラム・GitリポジトリのIssue |
| サーバーパネル | ロールバック | 7.4に戻せるかどうか |
私の視点で言いますと、8.1で不安定なプラグインを見つけた時に“即アンインストール”は危険です。問い合わせフォームや会員制機能など、売上やリード獲得の“動脈”に絡んでいることが多いので、まずは「一時ロールバック+代替案の検討」の順番を守る方が安全です。
制作会社オリジナルのPHPが足を引っ張る時―WordPressサイト構成の見抜き方
表面上は一般的なテーマなのに、内部のオリジナルコードだけ古い書き方で残っているパターンも厄介です。見抜き方のコツは「どこが普通ではないか」を冷静に探すことです。
チェックの軸は次の3つです。
-
テーマファイルの量と名前
- 通常よりphpファイルが異様に多い
- 不自然なファイル名(custom-old.php、legacy-xxx.phpなど)
-
functions.phpの行数
- 数千行レベルで長い
- 他サイトでは見ない独自関数が乱立
-
mu-plugins / wp-content直下のphpファイル
- 必要以上にオリジナルファイルが置かれている
こうした独自コードは、PHPの新バージョンで「非推奨の書き方」→「完全なエラー」に変わるポイントで一気に噴き出します。特に、業務システムと連携しているサイトでは、見た目は問題なくてもバックエンドの連携だけ止まることがあるため、更新前にFTPで構成を眺めて“匂う場所”をメモしておくと復旧が速くなります。
「とりあえず最新」はなぜWordPress PHPで一部のプロしか選ばない?現場の逆説トーク
PHPは新しいほど高速で安全性も高まりますが、プロの現場では「常に最新」を選ぶ人は意外と少数派です。理由はシンプルで、すべてのパーツが同じスピードで進化しているわけではないからです。
| 選択肢 | メリット | デメリット | 向いているケース |
|---|---|---|---|
| 一つ前の安定版 | 互換情報が豊富 / トラブル事例も出揃っている | 最新機能は使えない | 収益サイト・企業サイト |
| 常に最新 | パフォーマンス最大 / 新機能の検証ができる | プラグイン互換のリスクが高い | 検証環境・技術ブログ |
| 古いまま維持 | 今すぐのトラブルは出ない | セキュリティリスク / サポート切れ | 一時的な延命のみ |
現場で多いのは「本番は一つ前の安定版、テスト環境で最新を試す」という二段構えです。本番だけを最新にしてしまうと、問題が起きた瞬間に“実験場”と“稼働環境”が同じになり、ビジネス上のリスク管理ができなくなります。
更新の判断で迷ったら、次の3つをセットで考えるとブレにくくなります。
-
本番とは別にテスト環境を用意できているか
-
代替プラグインやテーマの候補が準備できているか
-
ロールバックの手順を事前に紙やドキュメントに書き出してあるか
この3つが揃っていれば、心理的にも「いつでも戻せる」という余裕が生まれます。結果として、必要なアップデートを先送りせず、攻めと守りのバランスが取れた運用に近づいていきます。
なぜこの記事のノウハウはリアルなのか?WordPressとPHP運用の最前線から見える真実
制作やサポート現場で磨かれた「失敗と教訓」、WordPress PHPにどこで活きている?
更新ボタンを押した瞬間、画面が真っ白になって売上ページが消える──現場で何度も見てきたのは、そんな「一行のPHP」がビジネスを止める瞬間です。机上の理論だけでは、このヒヤッとする感覚は伝わりません。
失敗が集中するポイントは、だいたい決まっています。
-
古い業務用プラグインだけがPHP8系で動かない
-
制作会社がfunctionsファイルに独自コードをベタ書きしていて、誰も中身を把握していない
-
本番サーバーのPHPをいきなり切り替えてしまい、管理画面にも入れなくなる
こうした「あるある事故」を前提に、この記事では単に対策を並べるのではなく、どこでつまずきやすいかを先回りして手順を組み立て直しているのが特徴です。
代表的な落とし穴と、この記事での扱い方を整理すると次の通りです。
| 落とし穴ポイント | 現場で起こるトラブル例 | この記事での対処の考え方 |
|---|---|---|
| PHPバージョンだけ極端に古い | セキュリティ警告・表示速度低下 | 「上げないリスク」と「上げるリスク」を両方比較して判断軸を提示 |
| 本番でいきなりPHP切り替え | 真っ白画面・500エラー | ステージングやバックアップの「最低ライン」を具体化 |
| functionsファイルの直編集 | 1行の文法ミスでサイトダウン | 復旧手順と、安全な編集パターンをセットで解説 |
制作や保守の現場で「これだけは避けよう」と共有されている暗黙知を、初心者の方にも伝わる言葉に翻訳している点が、教科書的な解説との大きな違いになっています。
まとめ記事とここが違う!対応表の見方から復旧フローまで一気通貫で学べる理由
多くの解説は、次のどれか一つにしか触れていません。
-
PHPとWordPressの対応表だけ
-
レンタルサーバーごとの更新手順だけ
-
テーマやプラグインのカスタマイズ方法だけ
-
PHP入門の文法説明だけ
問題は、現場ではこれらが一気に絡み合ってトラブルになることです。たとえば、対応表を見ずにPHP8.1へ上げる → 古い問い合わせフォームプラグインが動かない → テーマエディターも開けない、という流れは非常に典型的です。
そこでこの記事は、
- 対応表で自分の位置を把握する
- バックアップとテスト環境でPHPを試す
- テーマファイルやプラグインの相性を確認する
- もしもの時に戻す・復旧するルートを決めてから本番に反映する
という「確認→更新→切り戻し→再発防止」までを一本のストーリーに統合しています。
対応表の数字を眺めて終わりではなく、そこから何をどの順番で操作すれば安全かまで落とし込んでいるので、非エンジニアのサイト担当者でも、自分で判断しやすい構成になっています。
この記事を読んだ次の一手は?WordPressとPHPを守る自己防衛スタートガイド
読み終えたあと、そのまま閉じてしまうと何も変わりません。ここからが自己防衛のスタートラインです。制作と保守に携わっている私の視点で言いますと、「次の一手」は次の3ステップに集約されます。
-
現状を紙に書き出す
- 使用中のPHPバージョン
- WordPress本体のバージョン
- 主要なテーマ名と重要プラグイン名
-
優先順位を決める
- 売上やリード獲得に直結するページ
- そこに関わるテーマ・プラグイン
- 更新テストを先に行うべきものをリストアップ
-
小さく試す環境を一つ用意する
- レンタルサーバーのテスト環境機能
- サブドメインに複製してPHPだけ先に上げる
- テスト環境でfunctionsファイルやショートコードの挙動を確認
ポイントは、「いきなり本番で勝負しない」習慣をつくることです。一度この型を作ってしまえば、今後のバージョンアップやテーマ変更、プラグイン追加も同じ型で安全に進められます。
この自己防衛の型を身につけることで、PHPやWordPressの専門知識がまだ浅くても、「サイトを落とさない運用」が現実的なラインに乗ってきます。ここから先は、記事内で紹介している学習ロードマップを頼りに、少しずつコードやテンプレートにも触れていくと、運用とカスタマイズの両輪が回り出します。
この記事を書いた理由
著者 – 宇井 和朗(株式会社アシスト 代表)
WordPressを使う経営者や担当者の多くが、「PHPを更新してください」という警告を見て不安のまま閉じてしまう姿を、ホームページ制作・運用に関わってきた企業の現場で何度も見てきました。実際に、PHPの更新で画面が真っ白になり、ネット予約や問い合わせが丸一日止まりかけたサイトの復旧を支援したこともあります。私自身も、自社サイトのfunctions.phpを営業日の朝に軽く修正したつもりが、特定ページだけ500エラーになり、原因特定と復旧に半日費やした苦い経験があります。こうしたトラブルは、仕組みを知らないから怖いのであって、どこまで上げてよいか、どこに触れてはいけないかさえ分かれば、再現性のある運用に変えられます。数多くのWordPressサイトの設計と改善に関わる中で蓄積してきた、PHPバージョンとテーマ・プラグインの相性、レンタルサーバーごとの癖、復旧の手順を整理し、現場で本当に迷いが減る判断軸を残したいと考え、この記事にまとめました。恐怖ではなく仕組みの理解で、サイトを止めない更新とカスタマイズができる人を一人でも増やすことが狙いです。