WordPressカスタマイズ入門:functions.phpでできることと安全な編集手順

WordPress

はじめに:functions.phpとは?WordPressの「裏方」ファイル

WordPressを使い始めてしばらくすると、「テーマを少し自分好みにカスタマイズしたい」と思う方が多いはずです。そのときによく登場するのが「functions.php(ファンクションズ・ピーエイチピー)」というファイルです。
functions.phpは、WordPressテーマの動作を拡張したり、独自の機能を追加したりできる「テーマの心臓部」のような存在です。

ただし、同時に編集を間違えるとサイトが真っ白になるというリスクもあります。
この記事では、初心者でも安心してfunctions.phpを扱えるように、「できること」「安全な編集方法」「トラブル対策」までをわかりやすく解説します。


1. functions.phpでできること一覧

functions.phpは、WordPressの動作を自由にカスタマイズできる便利なファイルです。
以下のようなことが可能です。

  • サイト全体の設定変更(例:投稿の抜粋文字数、管理画面のカスタマイズ)
  • 新しい機能の追加(例:アイキャッチ画像を有効化、ウィジェットエリアの追加)
  • 不要な機能の削除(例:絵文字機能やバージョン情報の削除)
  • CSSやJavaScriptの読み込み制御
  • メニューやサイドバーの登録
  • ショートコードの作成

つまり、functions.phpは「プラグインを使わずにWordPressをカスタマイズできる」場所です。
たとえば「ヘッダーにGoogleアナリティクスのコードを挿入したい」などのちょっとした調整も、このファイルを使えば実現できます。


2. functions.phpを編集する前に必ず知っておくべき注意点

functions.phpは非常に便利ですが、リスクを理解して安全に使うことが最も大切です。
なぜなら、たった1文字のミスで「サイト全体が真っ白(致命的エラー)」になることがあるからです。

functions.phpを編集する前に、以下の点を必ず確認しましょう。

  1. バックアップを取る(絶対)
    編集前に、FTPソフトなどで現在のテーマフォルダを丸ごとダウンロードしておきましょう。
    これがあれば、万が一トラブルが起きてもすぐに元に戻せます。
  2. テーマの子テーマを使う
    親テーマのfunctions.phpを直接編集すると、テーマのアップデートで上書きされてしまいます。
    そのため、子テーマを作成し、その中のfunctions.phpでカスタマイズするのが基本です。
  3. エラーが出ても焦らない
    functions.phpの編集ミスでサイトが真っ白になっても、冷静に対処すれば復旧できます。
    FTPでアクセスし、修正したコードを削除すれば、元に戻すことができます。

3. 安全にfunctions.phpを編集するための手順

初心者が安全にfunctions.phpを編集するための具体的な手順を紹介します。
この手順を守れば、トラブルを最小限に抑えられます。

手順1:子テーマを用意する

親テーマのfunctions.phpを直接編集するのは危険です。
子テーマを作成し、その中にfunctions.phpファイルを置きましょう。

子テーマは以下の3ステップで作れます。

  1. /wp-content/themes/内に新しいフォルダを作成(例:twentytwentyfive-child
  2. その中にstyle.cssfunctions.phpを作成
  3. style.css内に以下を記述: /* Theme Name: Twenty Twenty-Five Child Template: twentytwentyfive */

これで、子テーマがWordPressの管理画面から選択できるようになります。

手順2:functions.phpをFTPで編集する

管理画面のテーマエディターではなく、FTPソフト(例:FileZillaなど)でローカルにダウンロードしてから編集するのがおすすめです。
これなら、保存する前にコードを確認でき、エラー発生時もすぐに差し替えられます。

手順3:バックアップを確実に取る

自分の体験談として、私もかつてfunctions.phpを直接編集して「画面が真っ白」になったことがあります。
頭も真っ白になりますが(笑)、焦らずにFTPで元のファイルを戻せば復旧します。
このとき役立ったのが、ローカルに保存していたバックアップファイルでした。
作業前には必ず、テーマ全体をダウンロードしておくことを強くおすすめします。

手順4:テスト環境を使う

本番環境をいじる前に、テスト環境で試すのが理想です。
エックスサーバーを利用している場合は、サブディレクトリにWordPressをインストールしてテスト環境を作るのがおすすめです。
同じサーバー内に複製サイトを作り、functions.phpの変更を安全に試せます。
また、エックスサーバーには自動バックアップ機能が備わっているため、万が一のときにも安心です。

(A8.netのエックスサーバーバナーをこの箇所に自然に挿入)


4. 初心者でもできるfunctions.phpの活用例10選

以下は、初心者でも安心して使えるfunctions.phpのカスタマイズ例です。
必要なものだけコピーして活用してください。

① アイキャッチ画像を有効化

add_theme_support('post-thumbnails');

② 管理画面の不要メニューを非表示

function remove_admin_menus() {
  remove_menu_page('edit-comments.php');
}
add_action('admin_menu', 'remove_admin_menus');

③ WordPressのバージョン情報を非表示

remove_action('wp_head', 'wp_generator');

④ 絵文字機能を無効化

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

⑤ 投稿の抜粋文字数を変更

function custom_excerpt_length($length) {
  return 80;
}
add_filter('excerpt_length', 'custom_excerpt_length');

⑥ 管理画面のフッターにオリジナルメッセージを表示

function custom_admin_footer() {
  echo 'カスタマイズ中:WordPressをもっと楽しく!';
}
add_filter('admin_footer_text', 'custom_admin_footer');

⑦ 投稿スラッグを自動で英数字に変換

function auto_post_slug($slug, $post_ID, $post_status, $post_type) {
  return sanitize_title($slug);
}
add_filter('wp_unique_post_slug', 'auto_post_slug', 10, 4);

⑧ 管理バーを非表示

add_filter('show_admin_bar', '__return_false');

⑨ ログイン画面のロゴを変更

function custom_login_logo() {
  echo '<style>.login h1 a { background-image: url(' . get_stylesheet_directory_uri() . '/images/logo.png) !important; }</style>';
}
add_action('login_head', 'custom_login_logo');

⑩ jQueryをCDNから読み込む

function load_jquery_from_cdn() {
  if (!is_admin()) {
    wp_deregister_script('jquery');
    wp_enqueue_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js', array(), null, true);
  }
}
add_action('wp_enqueue_scripts', 'load_jquery_from_cdn');

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

もし編集後に「サイトが真っ白になった」ときは、以下の手順で復旧できます。

  1. FTPでサーバーに接続
  2. エラーを起こしたfunctions.phpを開く
  3. 直前に追加したコードを削除
  4. 上書き保存して再度ブラウザをリロード

これで多くの場合は元に戻ります。
もし復旧しない場合は、WordPressのデバッグモードを有効にして原因を特定するのも一つの方法です。


6. まとめ:functions.phpを理解すればWordPressはもっと自由になる

functions.phpは、WordPressカスタマイズの入り口であり、使いこなせばプラグインに頼らずに自分だけのサイトを作ることができます。
最初は難しく感じるかもしれませんが、構造を理解し、バックアップを取って安全に試せば、確実にスキルアップできます。

安全な環境を整えるには、エックスサーバーの自動バックアップ機能テスト用サブディレクトリを活用するのが効果的です。
安心できる作業環境を用意して、WordPressカスタマイズの第一歩を踏み出してみましょう。