WordPressカスタマイズ入門|functions.php便利コード集


WordPressテーマのカスタマイズに欠かせない「functions.php」。この記事では、初心者でも簡単に実装できる便利なカスタマイズ10選を紹介します。
すべてコピペOKの実用コード付きなので、自分のサイトにすぐ反映できます!


functions.phpとは?

functions.phpは、テーマの動作や機能を拡張するためのファイルです。WordPressで「プラグインのような機能追加」ができる、テーマごとの関数ファイルです。

例:

  • アイキャッチ画像の有効化
  • 管理画面の見た目変更
  • カスタム投稿タイプの追加 など

カスタマイズ前に必ずやるべきこと

  • テーマのバックアップを取る
  • 子テーマ(child theme)を使う
  • エラーが出たらFTPで編集できる準備をしておく

特にfunctions.phpは1文字のミスでもサイトが真っ白になります。編集前の準備は必須です。


1. 管理バー(Admin Bar)を非表示にする

ログイン時に上部に表示される管理バーが不要な場合に使います。

add_filter('show_admin_bar', '__return_false');

2. 投稿の自動保存(リビジョン)を無効化する

リビジョンが多すぎるとデータベースが肥大化します。制限または無効にできます。

// リビジョン無効化
remove_action('post_updated', 'wp_save_post_revision');

// リビジョンの数を制限する(例:3つ)
define('WP_POST_REVISIONS', 3);

3. WordPressのバージョン情報を非表示(セキュリティ対策)

ソースコードに出力されるWordPressバージョンを隠してセキュリティ強化。

remove_action('wp_head', 'wp_generator');

4. アイキャッチ画像を有効にする

投稿でサムネイル(アイキャッチ)を使えるようにします。

add_theme_support('post-thumbnails');

カスタムサイズも追加できます:

add_image_size('custom-thumb', 300, 200, true);

5. メニュー機能を有効にする(ナビゲーション)

ナビゲーションメニューの管理画面を有効化します。

add_theme_support('menus');

function register_my_menus() {
  register_nav_menus(array(
    'header-menu' => 'ヘッダーメニュー',
    'footer-menu' => 'フッターメニュー'
  ));
}
add_action('init', 'register_my_menus');

6. ウィジェット機能を有効にする(サイドバーなど)

function my_widgets_init() {
  register_sidebar(array(
    'name' => 'サイドバー',
    'id' => 'sidebar-1',
    'before_widget' => '<div class="widget">',
    'after_widget'  => '</div>',
    'before_title'  => '<h3>',
    'after_title'   => '</h3>',
  ));
}
add_action('widgets_init', 'my_widgets_init');

7. カスタム投稿タイプを追加する

「お知らせ」や「制作実績」など、独自の投稿タイプを追加できます。

function create_custom_post_type() {
  register_post_type('works',
    array(
      'label' => '制作実績',
      'public' => true,
      'has_archive' => true,
      'supports' => array('title', 'editor', 'thumbnail'),
      'menu_position' => 5,
      'menu_icon' => 'dashicons-portfolio'
    )
  );
}
add_action('init', 'create_custom_post_type');

8. カスタムタクソノミー(独自のカテゴリ)を追加する

独自の分類(タグ・カテゴリ)を作成可能。

function create_custom_taxonomy() {
  register_taxonomy(
    'genre',
    'works',
    array(
      'label' => 'ジャンル',
      'hierarchical' => true, // trueでカテゴリ型、falseでタグ型
      'public' => true,
    )
  );
}
add_action('init', 'create_custom_taxonomy');

9. 投稿の抜粋文字数を変更する

function custom_excerpt_length($length) {
  return 50; // 文字数を指定
}
add_filter('excerpt_length', 'custom_excerpt_length');

10. 絵文字機能を無効化する(軽量化)

WordPressにはデフォルトで絵文字が読み込まれています。不要なら停止すると高速化に貢献します。

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

おまけ:functions.phpにコードを追加する方法

  1. WordPress管理画面 → 外観 → テーマファイルエディター
  2. functions.php を開く
  3. 最後の ?>前にコードを追加(もしくは ?> がなければそのまま)

エラー時は即FTPで戻せる準備があると安心です。


まとめ

functions.phpは、WordPressのカスタマイズにおける「小さな魔法」です。
今回紹介した10個のコードは、初心者でもすぐに試せる実用例ばかりです。

特におすすめの使い方

  • WordPress高速化(絵文字削除・リビジョン制限)
  • 管理画面カスタマイズ(メニュー、ウィジェット)
  • オリジナル投稿機能(カスタム投稿・タクソノミー)

今後は、自作テーマやプラグイン開発に向けてのステップにもなります。
まずは一つずつ試して、WordPressの理解を深めてみてください。


よくある質問(FAQ)

Q. functions.phpとは何ですか?

functions.phpは、WordPressテーマに含まれるPHP設定ファイルで、テーマの機能を拡張・カスタマイズするためのコードを記述します。テーマが有効化されると自動的に読み込まれ、アクションフック・フィルターフック・カスタム関数などを追加できます。プラグインを使わずにWordPressの動作を変更できるため、テーマ開発において最も重要なファイルの一つです。

Q. functions.phpを編集する際の注意点は?

記述ミスがあるとサイト全体が表示されなくなるリスクがあるため、必ず編集前にバックアップを取ってください。FTPまたはファイルマネージャーでアクセスし、テキストエディタで編集するのが安全です。WordPress管理画面のテーマエディターからの編集はエラー時に復旧が困難になるため推奨しません。また、子テーマのfunctions.phpに記述すれば、テーマ更新時にカスタマイズが失われることを防げます。

Q. functions.phpとプラグインはどう使い分けますか?

テーマ固有の表示カスタマイズ(ロゴの出力変更・メニューの登録・ウィジェットエリアの追加など)はfunctions.phpに記述します。テーマを変更しても維持したい機能(お問い合わせフォーム・SEO設定・セキュリティ対策など)はプラグインで実装するのが適切です。判断基準は「テーマを切り替えても必要な機能か?」で、テーマ依存ならfunctions.php、テーマ非依存ならプラグインです。

functions.phpと連携するテンプレートファイルの詳しい使い方は、WordPressテーマのテンプレートファイル一覧と役割ガイドや、archive.phpの使い方とカスタマイズも参考にしてください。