この記事ではWordPressテーマ開発の際、functions.php
でよく使うスニペット一覧をご紹介したいと思います。
これらのスニペットは作業を効率化させるものからセキュリティ対策まで様々な用途に使えます。
コピペでOKです。
作業の効率化になるのでブックマークすることを推奨します。
ぜひとも最後までご覧ください。
管理バーを非表示にする(ログイン中のフロント画面)
WordPressにログインした状態でフロント画面を表示すると管理画面に移動するバーが上に表示されます。
もちろんユーザーには見えませんが、コーディングをする上では邪魔になる事が多いです。
これを非表示にするためには以下のコードをfunctions.php
に記述します。
add_filter('show_admin_bar', '__return_false');
これでコーディングをする際、上部の管理バーを非表示にする事が出来ます。
WordPressのバージョン情報を非表示にする
WordPressはデフォルトの状態だとWordPressの現在のバージョンを<head>
タグに表示します。
これだと外部から現在のWordPressのバージョンがバレてしまいます。
//この様に表示される
<meta name="generator" content="WordPress 6.5" />
WordPressのバージョンを知られると、そのバージョンにある脆弱性を狙われる可能性があります。
以下のスニペットを使用する事で現在のWordPressのバージョンを誰かに把握されない様にしましょう。
remove_action('wp_head', 'wp_generator');
絵文字の読み込みを無効化
WordPressはデフォルトで絵文字の表示をする事が出来ます。
しかし実際に絵文字を使用する企業は少ない傾向にあります。
使用しない機能のためにリソースを割くのは無駄なので、以下のコードで絵文字の読み込みを無効化します。
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');
これを行う事でHTMLの<head>
タグから絵文字用のJavaScriptとCSSの読み込みが削除されます。
これでWebサイトの読み込みリソースを削減でき、軽量化や表示速度の改善に繋がります。
抜粋の文字数を変更する
WordPressで抜粋を使用する際、こちらのthe_excerpt()
を使用するかと思います。
しかしこのthe_excerpt()
をそのまま使用すると、自分が意図する単語数にならない事があります。
そこで抜粋の文字数を調整する必要があります。
具体的には以下になります。
function custom_excerpt_length($length) {
return 50; // 任意の文字数(例:50)
}
add_filter('excerpt_length', 'custom_excerpt_length');
このコードをfunctions.php
に記述することで、自分が意図する単語数での抜粋を作成する事が出来ます。
タイトルタグを有効にする
WordPressでは、テーマ側で設定しない限り、<title>
タグは自動で出力されません。
複数のページの場合、ページごとのタイトルを自分でテンプレート内に書き分ける必要があります。
また、こちらの記事でも解説してますが、タイトルタグを適切にしてなかったらSEOにマイナスです。
具体的には以下のコードをfunctions.php
に記述します。
add_theme_support('title-tag');
これでページごとのタイトルを自動で出力させる事が出来ます。
アイキャッチ画像を有効にする
WordPressはデフォルトでは投稿にも固定ページにもアイキャッチ画像が設定されていません。
アイキャッチ画像の設定は実務でほぼ必ず行います。
以下のコードをfunctions.php
に記述しましょう。
add_theme_support('post-thumbnails', ['post', 'page']);
これで投稿と固定ページの両方でアイキャッチ画像を設定出来るようになります。
カスタムメニューを登録する
WordPressはテーマ側でメニュー機能を有効化しないと表示されません。
以下のコードをfunctions.php
に記述しましょう。
function register_my_menus() {
register_nav_menus([
'main-menu' => 'メインメニュー',
'footer-menu' => 'フッターメニュー'
]);
}
add_action('after_setup_theme', 'register_my_menus');
WordPressの『外観』に『メニュー』がないと思ったらだいたいこちらをfunctions.php
に記述し忘れている時です。
こちらも必ず記述するようにしましょう。
まとめ
ここまでfunctions.php
によく使う便利なスニペット一覧を記述しました。
別にこれらを暗記する必要はなく、ブックマークして必要な時にコピペするだけでOKです。
これであなたのWordPressのテーマ開発の効率化に貢献出来れば大変嬉しく思います。