WordPress の functions.php に書いておきたい定番5つのコード
2016/06/06 [Mon]
WordPressには、
functions.phpという関数まとめファイルがあり、
全てのページで読み込まれます。
初期状態のままですと、「WordPressさんが気を利かしてくれてあらかじめそういう挙動をするが、カスタムしたいとき邪魔!」という機能がいくつかあり、このfunctions.phpに書き込むことでそれらを殺したり、機能を追加して便利に使うことができるのです。
とまあ、ここまではWordPressを使う者にとっては常識のお話。
作るサイトによりここで読み込ませるコードは多少違うのですが、
「これは必須だろう」という私の中での定番を、
ここに記したいと思います。
functions.php に書いておきたい定番その1
ヘッダに勝手に挿入されるコードを消す
まずは、WordPress冒頭で大量に生成されるコードを消してしまいます。
邪魔っけなので。
それでなくともWordPressのヘッダ部分は
必須コードがひしめき大変混雑するので、
消せるものは消しておきましょう。
ソース覗いてもパッと見でCMSだとわからないようにしておく
のが個人的ベストです。
Moral Hazard!!さんの「ヘッダに書き出されるmeta情報の削除方法と意味」の記事を参考にさせて頂きました。
remove_action( 'wp_head', 'feed_links_extra', 3 ); remove_action( 'wp_head', 'feed_links', 2 ); remove_action( 'wp_head', 'rsd_link' ); remove_action( 'wp_head', 'wlwmanifest_link' ); remove_action( 'wp_head', 'index_rel_link' ); remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 ); remove_action( 'wp_head', 'start_post_rel_link', 10, 0 ); remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 ); remove_action( 'wp_head', 'wp_generator' ); function remove_recent_comments_style() { global $wp_widget_factory; remove_action( 'wp_head', array( $wp_widget_factory->widgets['WP_Widget_Recent_Comments'], 'recent_comments_style' ) ); } add_action( 'widgets_init', 'remove_recent_comments_style' );
functions.php に書いておきたい定番その2
絵文字対応スクリプトを削除する
これ、一体なんのために読み込まれるのでしょうかね。
確か、4.2にバージョンアップしたあたりから
突然出現した機能だと思うのですが、
これも私の作るWordPressサイトには邪魔っけなので、
消してしまいます。
零弐壱蜂さんの「WordPress 4.2 で追加された絵文字対応のスクリプトを無効化する方法」の記事を参考にさせて頂きました。
function disable_emoji() { remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); remove_action( 'admin_print_scripts', 'print_emoji_detection_script' ); remove_action( 'wp_print_styles', 'print_emoji_styles' ); remove_action( 'admin_print_styles', 'print_emoji_styles' ); remove_filter( 'the_content_feed', 'wp_staticize_emoji' ); remove_filter( 'comment_text_rss', 'wp_staticize_emoji' ); remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' ); } add_action( 'init', 'disable_emoji' );
functions.php に書いておきたい定番その3
アップロードするJPEGファイルの画質を落とさない
ファイルの軽量化は大切であり、
あまりに重たいとSEOツールで診断した際に注意を受けたりします。
しかし、今は【TinyPNG】やプラグイン【EWWW Image Optimizer】などで、簡単に画像の軽量化を図れる時代。
さすがに一部テーマでは無効になっているようですが、
ディフォルトで90%ってどういうことだよ、と。
個人的トラウマ全開で申しますと、
学生時代にダイヤルアップ回線で海外のそういうサイトを覗いていて、
モスキートノイズだらけのJPEGファイルを
落としていた記憶が甦ってきたりして、
さらに「セーフカラー」なんて言葉が現役だった時代を
思い出したりなんかして、ビンボくさっと思ってしまうのです。
かちびと.netさんの「WordPressにアップロードしてリサイズされたJPG画像の画質を1行のコードで改善させる」の記事を参考にさせて頂きました。
add_filter('jpeg_quality', function($arg){return 100;});
functions.php に書いておきたい定番その4
メディアを記事に挿入する際、クラス名を書き込まない
WordPressの記事内にメディアを挿入すると、
クラス名が勝手に追加されますが、それを阻止します。
一体なんでそんな機能がついているのかよくワカランのですが、
不要なことに変わりはないのであらかじめ消してしまいます。
Webcre Archiveさんの「WordPressの画像挿入時、自動挿入されるclassとtitleを削除する方法」の記事を参考にさせて頂きました。
function remove_img_attr($html, $id, $alt, $title, $align, $size) { return preg_replace('/ class=[\'"]([^\'"]+)[\'"]/i', '', $html); } add_filter('get_image_tag','remove_img_attr', 10, 6);
functions.php に書いておきたい定番その5
管理画面の使わない項目を非表示にする
WordPressのサイトの作りにもよりますが、
管理画面のレフトナビにある項目のうち、
「ダッシュボード」、「コメント」、「外観」(最初にカスタムテーマを設定後)、「ユーザー」は、わたし個人的には不要な項目となります。納品後にお客様に混乱を来さないよう、場合によっては「固定ページ」さえ封じてしまうことがあります。
「選択肢が増えると人は決められなくなる」とはよく言ったもので、
WordPressの不要なメニューを非表示にしただけで、
途端にスッキリ使いやすくやるのは気持ちの良いものです。
rainingさんの「WordPress:管理画面の使わないメニューを非表示にする」の記事を参考にさせて頂きました。
function remove_admin_menus() { global $menu; unset($menu[2]); // ダッシュボード unset($menu[5]); // 投稿 unset($menu[10]); // メディア unset($menu[20]); // 固定ページ unset($menu[25]); // コメント unset($menu[60]); // 外観 unset($menu[70]); // ユーザー } add_action('admin_menu', 'remove_admin_menus');
あとは、作るサイトの性格によって
付け足したり差し引いたりしていくのですが、
このように「WordPressにおける私の基本形」として
自分なりの定番をあらかじめ作っておくと、
お仕事が立て込んだ際に便利です。
この記事のシェアにご協力ください!
- 2016/8/10 イメージを伝える効率的な方法~ウェブデザイナーに対しウェブディレクターが
- 2016/7/30 ユーザーレビューがアテにならない時代の「確実に身につく技術書の選び方」
- 2016/7/19 「人口」から考えればマーケティングが変わる!絶対へぇ~と言わせる人口雑学
- 2016/7/17 【職場で今すぐ使える思考実験】 リーダーの一番ベストな決め方ってな~んだ?
- 2016/6/28 ウェブ担当者の地震対策マニュアル!ECサイト復旧までの実録ドキュメント
- 2016/6/27 色だけでキャラクターが分かるのは優秀な配色だ!8つの例を見て・学び・作れ!
- 代表・デザイナー
小川 知久
Tomohisa Ogawa - 中目黒の広告代理店でウェブディレクターを勤める現役のウェブデザイナー。5年にわたりアパレル系通販サイトの部門長を勤め、ビジネスの視点からデザインに携わった後、ウェブを通じた人材採用について、デザインとライティングの両面からトータルコンサルティング。上流から下流まで貫通して携わります。
無期休業中につき、現在お仕事は承っておりません。- ディレクション
- コンサルティング
- ウェブデザイン
- コーディング
- 企画
- ライティング
- イラスト
- 運営・分析
- 遊び心