functions.phpに書ける便利なカスタマイズ集【コピペでOK!】


はじめに
WordPressのテーマ開発やカスタマイズを行っていると、「ちょっとした機能を追加したい」「不要なものを消したい」と思うことがよくあります。そんなときに役立つのが functions.php
です。
functions.phpとは何か、役割について詳しく知りたい方は公式ドキュメントも参考になります。
このファイルにコードを追記することで、プラグインを使わずにサイトを軽量化・高速化・最適化することができます。ただし、構文エラーがあると画面が真っ白になるなどのトラブルもあるため、子テーマを使う/バックアップを取るなどの注意が必要です。
この記事では、中級者向けに、すぐ使える便利なカスタマイズコードを目的別に紹介します。ぜひコピペして、あなただけの快適なWordPress環境を作ってください!
基本設定系のカスタマイズ
1. WordPressのバージョン情報をheadから削除
WordPressのバージョン情報はセキュリティ上の観点から非表示にしておくのがおすすめです。
remove_action('wp_head', 'wp_generator');
用途: サイトのソースコードから meta name="generator"
を削除したいとき。
2. 管理バー(Admin Bar)を非表示にする
ログインユーザーに対して表示される黒い管理バーを消したい場合は以下。
add_filter('show_admin_bar', '__return_false');
用途: フロントエンド上での管理バー表示を邪魔に感じるとき。
3. 投稿の自動整形を無効にする
WordPressは投稿本文に自動的に <p>
タグを挿入します。これを無効にしたいときは次のコード。
remove_filter('the_content', 'wpautop');
remove_filter('the_excerpt', 'wpautop');
用途: カスタムHTMLやショートコードを多用していて、自動整形が邪魔な場合。
このように、「目的 → コード → 解説」の流れを各セクションで繰り返していくと、読み手にとって非常に親切です。
投稿・固定ページに関するカスタマイズ
4. 抜粋(excerpt)の文字数を変更する
WordPressのデフォルトでは、抜粋の文字数は55語ですが、日本語サイトでは少し短く感じることがあります。好みに応じて文字数を調整しましょう。
// すべての抜粋を80文字にしたい場合
add_filter('excerpt_mblength', function ($length) {
return 10;
});
用途: カスタム投稿タイプやブログ一覧での抜粋が短すぎるとき。
5. 抜粋の末尾「…」を変更する
抜粋の最後に表示される「…(省略記号)」をカスタマイズできます。
function custom_excerpt_more($more) {
return '...続きを読む';
}
add_filter('excerpt_more', 'custom_excerpt_more');
用途: 抜粋の末尾をユーザーフレンドリーに変更したい場合。
6. 投稿の保存時に自動でカテゴリーを割り当てる
うっかりカテゴリーを選ばずに投稿してしまうと、「未分類」に振り分けられてしまい、後からの管理が煩雑になります。このカスタマイズを使えば、投稿時に自動で特定のカテゴリー(例:ID 1)を割り当てることができ、分類ミスを防げます。
function auto_assign_category($post_id) {
if (get_post_type($post_id) === 'post') {
$default_cat = 1; // デフォルトカテゴリーのID
wp_set_post_categories($post_id, array($default_cat), true);
}
}
add_action('save_post', 'auto_assign_category');
管理画面のカスタマイズ
7. 投稿一覧にアイキャッチ画像を表示する
効果: 投稿一覧で画像付きの視認性がアップします。
function add_thumbnail_column($columns) {
$columns['thumbnail'] = 'アイキャッチ';
return $columns;
}
function display_thumbnail_column($column_name, $post_id) {
if ($column_name == 'thumbnail') {
echo get_the_post_thumbnail($post_id, array(60, 60));
}
}
add_filter('manage_posts_columns', 'add_thumbnail_column');
add_action('manage_posts_custom_column', 'display_thumbnail_column', 10, 2);
8. 管理画面の「投稿」を「ブログ」などに変更する
効果: クライアント案件などでわかりやすい表現に。
function change_post_menu_label() {
global $menu, $submenu;
$menu[5][0] = 'ブログ';
$submenu['edit.php'][5][0] = 'ブログ一覧';
$submenu['edit.php'][10][0] = '新規ブログ投稿';
}
add_action('admin_menu', 'change_post_menu_label');
9. 管理画面の不要なメニューを非表示にする
効果: 初心者や特定の権限ユーザーに不要な機能を隠せます。
function remove_menus_for_editor() {
if (!current_user_can('administrator')) {
remove_menu_page('tools.php'); // ツール
remove_menu_page('edit-comments.php'); // コメント
}
}
add_action('admin_menu', 'remove_menus_for_editor', 999);
10. ログイン画面のロゴをカスタマイズする
効果: ロゴを独自サイトに差し替えてブランディング強化。
function custom_login_logo() {
echo '<style type="text/css">
.login h1 a {
background-image: url(' . get_template_directory_uri() . '/images/logo.png);
background-size: contain;
width: 100%;
}
</style>';
}
add_action('login_head', 'custom_login_logo');
/images/logo.png
にロゴ画像を置く必要があります。
11. ダッシュボードのウィジェットを非表示にする
効果: ダッシュボード画面をスッキリ。
function remove_dashboard_widgets() {
remove_meta_box('dashboard_quick_press', 'dashboard', 'side'); // クイックドラフト
remove_meta_box('dashboard_primary', 'dashboard', 'side'); // WordPress ニュース
}
add_action('wp_dashboard_setup', 'remove_dashboard_widgets');
12. 投稿タイトルが空の場合に「無題」と表示する
効果: タイトル未入力の投稿も一覧でわかりやすく表示。
function no_title_placeholder($title) {
return $title == '' ? '無題' : $title;
}
add_filter('the_title', 'no_title_placeholder');
おわりに
いかがでしたか?
今回は、WordPressのfunctions.phpに書ける便利なカスタマイズ集として、「基本設定系のカスタマイズ」「投稿・固定ページに関するカスタマイズ」「管理画面のカスタマイズ」など、さまざまな実用的コードをご紹介しました。
functions.phpは、WordPressサイトの挙動を自在にコントロールできる強力なツールです。しかし、1文字のミスでサイトが表示されなくなることもあるため、バックアップの取得や子テーマの使用を忘れずに行いましょう。
この記事が、あなたのWordPress運営をより快適で効率的なものにする手助けとなれば嬉しいです。