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の理解を深めてみてください。

✪ 画像素材がないものはランダムで表示されるようになっています。フリー素材などでご用意ください。

おすすめChromeプラグイン一覧

プラグイン名特徴
GoFullPageウェブページ全体のスクリーンショットを簡単に取得できるブラウザ拡張機能です。
ColorZilla色を抽出するための拡張機能です。
WhatFontウェブページ上のフォントの情報を簡単に確認できるブラウザ拡張機能です。
PerfectPixelデザイナーが作成したデザインと実際にコーディングされたウェブページがどの程度一致しているかを確認・調整するためのブラウザ拡張機能です。

模写の手順

ステップ内容
ステップ 1構図を手書きか全画面スクショ(Go full page等)した後、ペイントツールで四角で囲い、大まかなclass,命名規則をあらかじめ決める。
ステップ 2HTMLの基本構造を作成する
ステップ 3CSSでレイアウトを模写する
ステップ 4 中級〜JavaScriptを追加して動きを再現する
ステップ 5最終調整を行い、検証ツールやPerfectPixel(chromeプラグイン)などで完成を確認する。