「カテゴリー」ウィジェット カスタマイズ

「カテゴリー」ウィジェットは、管理画面ではあまりカスタマイズできません。必要であれば、フックやプラグインを用いて表示設定などの変更を行うことができます。

目次

  • 「カテゴリー」ウィジェットの追加・設定
  • 特定のカテゴリーを除外
  • カテゴリーの順番を自由に並び替え
  • 各カテゴリーリンクへ「nofollow」を付与
  • サブカテゴリーをアコーディオン表示

「カテゴリー」ウィジェットの追加・設定

管理画面の「外観」「ウィジェット」とすすみ、表示させたいエリアに対して「カテゴリー」を追加(ドラッグ&ドロップ)

  • タイトル:ウィジェットのタイトルを設定
  • ドロップダウン表示:リスト形式ではなくドロップダウン形式で表示
  • 投稿数を表示:各カテゴリーの投稿数を表示
  • 階層を表示:親カテゴリーと子カテゴリーを階層で表示


category widget

特定のカテゴリーを除外する

子テーマのfunctions.phpに除外するカテゴリーのIDを指定します。

function exclude_widget_categories( $args){
    $exclude = '3,6,18';          // 除外するカテゴリーのIDをカンマ区切りで指定
    $args['exclude'] = $exclude;
    return $args;
}
add_filter( 'widget_categories_args', 'exclude_widget_categories');

少し古いですが以下のプラグインを使用して実現可能です。(カテゴリーのIDの確認は必要)
Category Excluder Widget

カテゴリーのIDの確認方法

  • URLから確認:管理画面の「投稿」→「カテゴリー」を開き、それぞれのカテゴリーのリンクURLのなかに「tag_ID=」に続く数字がカテゴリーのIDになります。
  • DBから確認:(wp_)termsテーブルの中身を確認。term_idがそのカテゴリーのIDになります。

カテゴリーの順番を自由に並び替える

カスタムメニューから作成ができます。

  1. 「外観」→「メニュー」からメニューを作成。左のカテゴリー欄からメニューに表示したいカテゴリーを追加(→メニューを保存)
  2. 表示させたいカテゴリーをドラッグアンドドロップで順番に並べます。(→メニューを保存)
    custom menu for category widget
  3. 「外観」→「ウィジェット」から"カスタムメニュー"を追加("メニューを選択"で作成したメニューの名前を選んで下さい。)
    custom menu widget for category

My Category Order (カテゴリーのIDの確認は必要)

カテゴリーリンクへ「nofollow」を付与

add_filter( 'wp_list_categories', 'my_wp_rel_nofollow');
function my_wp_rel_nofollow( $text ) {
//  This is a pre save filter, so text is already escaped.
    $text = stripslashes( $text);
    $text = preg_replace_callback( '|<a (.+?)>|i', 'wp_rel_nofollow_callback', $text);
//  $text = esc_sql( $text);
    return $text;
}
オリジナル /wp-includes/formatting.php
wp_rel_nofollow
wp_rel_nofollowを使用すると各リンクへnofollowを付与してくれますが、(\マーク)バックスラッシュが付いてしまうため少し改変しました。どうやら3.6で修正されるようです。 3.8でも修正されませんでしたので上記コードを使用する必要があります。ここは修正されないようですね。

サブカテゴリーをアコーディオン(ツリー)表示

jQuery Categories List Widget

標準のカテゴリーウィジェットでサブカテゴリの階層表示は可能ですが、このプラグインではアコーディオン表示が可能になります。ダウンロード

インストールして、管理画面の「外観」→「ウィジェット」とすすみ、表示させたいエリアに"jQuery Categories List Widget"を追加。

  • このエントリーをはてなブックマークに追加

関連記事

開発やテストに便利なプラグイン

開発やカスタマイズに使えそうなプラグインを集めてみました。 テーマのカスタマイズには、使用中のテンプレートファイルなどを表示してくれると便利ですね。個人的には、テーマ開発の際に、実行しているSQ

テーマ 「Responsive」 カスタマイズ

デモ | ダウンロード 目次 投稿日 非表示 作成者 非表示 "Responsive Theme powered by WordPress" 削除 投稿日 非表示 オリ

条件を付けて訪問時に開くポップアップを実装できる「WordPress Popup」

「WordPress Popup」は、ユーザの訪問時にポップアップを開くように実装できるプラグインです。それぞれ条件によって開くかどうかを設定することができます。 ダウンロード / サンプル イン

テーブル実装プラグイン「TablePress」 + レスポンシブ対応

「TablePress」は、WordPressにテーブルを実装できるプラグインです。専用のレスポンシブ化のプラグインもリリースされています。ダウンロード デモ (PCの場合はブラウザの幅狭めてみたり

ウィジェット関連のカスタマイズ・プラグイン

リンクマネージャー WordPress 3.5バージョンアップ以降にリンクマネージャーを追加するには以下のフィルタを設定もしくはプラグインをインストールして下さい。 プラグイン Link M

多言語化プラグイン「qTranslate」

ブログを多言語化しようと思い、プラグイン「qTranslate」を導入してみました。 General Settingsで使用する言語を選択する ★使用する言語を選択 管理画面「設定」⇒「Lang

ie.cssの子テーマ化など Twenty Twelve 1.1での変更点

TwentyTwelveが1.0から1.1にアップデートされたので、勉強もかねていくつか変更点を洗ってみました。 ie.cssを外出し pubdateの削除 rel="generator"

Twenty Twelve "Proudly powered by WordPress"をCopyrightに変更

標準でページの最下部に表示される"Proudly ~"を変更します。 子テーマフォルダにfooter.phpをコピーし、以下のように編集を行ってください。リンクを外して、表示部分を書き換えるだけです

「Contact Form 7」 メッセージの送信に失敗~

この修正はWordPress 3.5で行われているようです。(~3.4.2) Contact Form 7で以下のエラーメッセージが出る場合は、確認してみて下さい。 「メッセージの送信に失敗

新年早々やらかした

あけましておめでとうございます。 タイトルどおり、新年早々やらかしてしまいましたのでご報告まで。どうやらかしたかというと、確認用サイトとこのブログを間違えてしまいWordpress 3.5にアップグ

Comment

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

PAGE TOP ↑