[WordPress]よく利用するfunctions.php設定のまとめ(2014年1月版)

WordPress
スポンサーリンク

構築するサイトによって記述内容は異なりますが、ブログや企業サイト、簡単なWEBサイトなど、概ねどのサイトを構築する場合でも利用できそうなfunctions.phpのカスタマイズをまとめました。

何でもかんでもfunctions.phpに書くとソースが肥大化するので、テーマファイルで使うモノ、サイト全体で使うモノを切り分けてプラグイン化してしまっても良いかもしれません。

今回は管理画面とカスタム投稿タイプのカスタマイズが多めです。
過去に当ブログで紹介させていただいた記事も一部含まれますが、こんなメニューで紹介させていただきます。

フロント画面へのアクセス時にもログインフォームを設ける

ユーザー限定のサイトや、ベーシック認証が使えないサーバでテスト構築する場合など、管理画面へのアクセス時と同じように、フロントページへのアクセスにもWordPressのログインフォームを踏ませるカスタマイズです。

functions.phpへ以下のコードを記述します。


参考ページ
http://blog.livedoor.jp/satoshi_magnet/archives/51782632.html


ソース上の「に含まれる投稿をすべて表示の除去」の文言を消す

wp_list_categories()the_category()を利用してカテゴリの一覧を出力する際、ソースを見れば <a title=” の投稿をすべて表示”> が表示されますので、これを非表示にする方法です。

functions.phpへ以下のコードを記述します。



スマフォ用の振分処理

1 つのテーマファイルで「PCとスマートフォンの両方に最適化」してサイトを作る際、スマフォ用にどうしても見せ方を変えないと行けない個所が出てきます。例えば「PCサイトでは右サイドメニューを表示させるが、スマフォでは表示させない、あるいはフッターに追いやる」など。

そのような場合に is_mobile()を利用すれば、ユーザーエージェントで判定して「スマートフォンでサイトを閲覧した場合は○○…」のような条件分岐を行うことができますので便利です。

functions.phpへ以下のコードを記述します。


あとはテーマファイル内でis_mobile()を利用してスマフォの場合は○○を非表示するなどの処理を施していきます。ページの読込速度を考えれば、スマフォの場合は極力不要な情報は読み込ませないようにした方が良いですね。


記事の最初、最後を取得、また奇数偶数件の記事を取得する

「1件目の記事にはAのクラスを付与して、ループでまわした最後の記事にはBのクラスを付与する」場合に便利なカスタマイズです。また「奇数、偶数件の記事にそれぞれのクラスを付与する」なんてことも可能です。

これにより「1件目の記事は他よりも大きく表示して広告を表示させる」「偶数記事の背景の色を変える」など、デザインの幅が広がります。

functions.phpへ以下のコードを記述します。


テーマファイル内で isFirst()、isEvery()などと条件分岐させならが必要な処理を施していきます。

参考ページ
WordPressの記事ループの中で、最初や最後の記事とかを判別する


画像アップロード時のメディアのリンク先から「添付ファイルのページ」などの項目を消去する

投稿画面から画像をアップロードすると、メディアのリンク先として「添付ファイルのページ」「カスタムURL」「メディアファイル」が選択できるのですが、「『なし』でよい」という場合のカスタマイズです。

functions.phpへ以下のコードを記述します。


参考ページ
WordPressの3.5系で、メディアのリンク先から「添付ファイルのページ」「カスタムURL」「メディアファイル」の項目を消去する方法


管理画面の管理バーのカスタマイズ

ここからは管理画面周りのカスタマイズですが、管理画面の上部ヘッダーバーの掲載情報を表示非表示にする方法です。

functions.phpへ以下のコードを記述します。


上記ソースを全部コピペすると、一部のプラグインを利用することで表示される管理バーのメニューを除いて、メニューやアイコンが消えてしまいます。
よく利用するWordPressの functions.php 設定のまとめ

//$wp_admin_bar->remove_node のようにコメントアウトするなど、必要に応じて調整してみてください。


さらに、管理バーにオリジナルのメニューを追加することも可能です。


「マイメニュー」のリンクを踏むと、ドロップダウンで子メニュー(マイメニュー1〜3)が表示されます。マイメニュー1〜3のそれぞれのリンクを踏むと、hrefで設定したURLへジャンプします。
よく利用するWordPressの functions.php 設定のまとめ

管理画面の左メニューを表示非表示にする

管理画面の左メニューを表示・非表示にする方法です。

functions.phpへ以下のコードを記述します。


こちらも、上記ソースをコピペすると主要なメニューが消えてしまいますので、//remove_menu_page のようにコメントアウトするなど、必要に応じて調整してみてください。


管理画面の左メニューを、権限別に表示非表示にする

「管理者権限の場合は固定ページのメニューを見せるが、投稿者権限の場合は見せない」のような処理です。

User Role Editorのようなプラグインを利用すれば権限別の細かい設定が可能ですが、単純に「管理者権限以外の場合は管理画面のメニューを見せない(触らせない)」という処理であればfunctions.phpでのカスタマイズが手軽です。

functions.phpへ以下のコードを記述します。


level10以下のユーザーの場合、メニューを非表示にします。

参考ページ
http://pc.kumao.net/2010/1004003228.html


ログイン画面のデザイン用にオリジナルのCSSを用意する

WordPressのログイン画面を自由にデザイン変更するために、login.cssのようなオリジナルのCSSファイルを追加して編集できるようにする方法です。「ロゴを変更する」「背景の色を変更する」「ボタンを変更する」のようなカスタマイズが必要な場合に便利です。

functions.phpへ以下のコードを記述します。


参考ページ
プラグインを使わずにWordPressログイン画面を変更(カスタマイズ)する方法


カスタム投稿タイプの投稿記事をRSS配信する

ここからはカスタム投稿タイプの記事です。

functions.phpをゴニョゴニョしてカスタム投稿タイプを使えるようにする場合はソースコードが膨れ上がりますので、別途WordPressでカスタム投稿タイプを使えるようにfunctions.phpをカスタマイズする方法をご覧ください。

まずはカスタム投稿タイプの記事をRSS配信する方法ですが、functions.phpへ以下のコードを記述します。



カスタム投稿タイプの投稿記事数をダッシュボードに表示させる

さらに、カスタム投稿タイプごとの投稿記事数をダッシュボードに表示させる方法です。

functions.phpへ以下のコードを記述します。



カスタム投稿タイプと通常の投稿で、検索のテーマファイル(search)を分離する

archive-{カスタム投稿タイプ名}.php を利用すればカスタム投稿タイプの記事一覧を出力することができますが、検索結果ページ(search.php)にも同じように、カスタム投稿タイプの記事の検索結果を通常のテーマファイルから独立させたい場合に便利なカスタマイズです。

funtions.phpに以下のコードを追記します。


参考ページ
WordPressの検索結果で投稿タイプごとに違うテンプレートファイルを使う


今回はここまでですが、次回も機会があれば紹介させていただきます。

コメント

タイトルとURLをコピーしました