【WordPress】functions.phpに最低限、これだけは入れておきたい!!
functions.phpに何を書くか?
functions.phpは本当に色々なことができるので、
WordPressでテーマを作るときの肝と言っても過言ではありません。
出来ることが多い反面、何を書けば良いか分からなくなってしまいますよね。
今回、偉そうなタイトルが付きましたが、
トライムでいつも使っているfunctions.phpのベースをご紹介します。
functions.php
<?php // generatorを非表示にする remove_action('wp_head', 'wp_generator'); // EditURIを非表示にする remove_action('wp_head', 'rsd_link'); // wlwmanifestを非表示にする remove_action('wp_head', 'wlwmanifest_link'); //タイトルタグ出力 add_theme_support( 'title-tag' ); //emoji無効化 remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); remove_action( 'wp_print_styles', 'print_emoji_styles', 10 ); //body_classにスラッグを追加 function pagename_class($classes = '') { if (is_page()) { $page = get_post(get_the_ID()); $classes[] = 'page-' . $page->post_name; if ($page->post_parent) { $classes[] = 'page-' . get_page_uri($page->post_parent) . '-child'; } } return $classes; } add_filter('body_class', 'pagename_class'); //管理画面以外で使用する if (!is_admin()) { //CSSとJavaScriptの読み込み function my_scripts() { //テンプレートディレクトリのパス $dir = get_template_directory_uri(); //CSS wp_enqueue_style( 'style', get_stylesheet_uri(),array(),'1.0.0','all'); wp_enqueue_style( 'css-name', $dir . '/css/css-name.css','1.0.0','all'); //JS wp_enqueue_script( 'plugins', $dir . '/js/plugins.js', array('jquery'), '1.0.0', true ); wp_enqueue_script( 'common', $dir . '/js/common.js', array('jquery'), '1.0.0', true ); wp_enqueue_script( 'pages', $dir . '/js/pages.js', array('jquery'), '1.0.0', true ); } add_action( 'wp_enqueue_scripts', 'my_scripts' ); } //ログイン画面のデザイン変更 function admin_login_css() { echo ''; } add_action('login_head', 'admin_login_css'); function custom_login_logo_url() { return get_bloginfo( 'url' ); } add_filter( 'login_headerurl', 'custom_login_logo_url' ); //サムネイル add_image_size( 'photo_list', 240, 160, true );
解説
4行目 |
generatorを非表示にする。 wp_generator はmetaタグでwordpressのバージョンを表示するものです。 |
---|---|
7行目 |
EditURIを非表示にする。 ブログ投稿ツールを使っている時には必要ですのでご注意を。 |
9行目 |
wlwmanifestを非表示にする。 Windows Live Writerを使ってブログ投稿をする時には使用します。 |
13行目 | <title>タグを出力します。 |
16〜17行目 | 絵文字を利用しないので、無効化しています。 |
20〜30行目 | body_classにページのスラッグを追加します。 |
33〜52行目 | CSSやJSを読み込みます。 |
54〜63行目 |
ログイン画面のデザイン変更のため、 /css/admin_login.css を読み込んでいます。 |
66行目 |
サムネイルで任意のサイズを指定して下記のように呼び出します。 <?php the_post_thumbnail( 'photo_list' );?> |
まとめ
とりあえず、毎回使い回しているのはこのくらいです。
あとはその都度、必要なものを書き足しています。
カスタム投稿タイプやカスタムタクソノミーの追加も、
functions.phpに書けば出来てしまいます。
プラグインに頼らないように制作すると、functions.phpはながーくになっていきます。
コアファイルをいじらなくても、
ある程度のことが出来てしまうWordPressは素晴らしいですね!
Writer
KO
誕生日に会社のみんなから『世界文学全集』をプレゼントしてもらった読書好きフロントエンド・エンジニアです。WordPressとMovableTypeが得意ですが、本当の特技は薪割りです。