カテゴリウィジェットでカスタムタクソノミーのターム一覧を表示させる方法
MENU
  1. HOME
  2. WordPress / カスタマイズ
  3. カテゴリウィジェットでカスタムタクソノミーのターム一覧を表示させる方法

最近の作業実績

  • 2024年04月06日非レスポンシブのサイトをレスポンシブ化いたしました。
  • 2024年04月05日テーマファイルが編集できない不具合を解消いたしました。
  • 2024年04月04日WordPress、テーマ、プラグイン、のバージョンアップを担当いたしました。
  • 2024年04月03日不具合で表示されなくなったサイトを表示される状態まで復旧いたしました。
  • 2024年04月02日お問い合わせフォームを再構築いたしました。
  • 2024年04月01日不具合で表示されなくなったサイトを表示される状態まで復旧いたしました。
  • 2024年03月31日サーバー移管に共に表示されなくなったサイトを表示される状態まで復旧いたしました。
  • 2024年03月30日WordPressの操作方法をサポートいたしました。
  • 2024年03月29日サイドバーに人気記事を表示させる仕組みを導入いたしました。
  • 2024年03月28日テキスト等の簡易な修正を行いました。
  • 2024年03月27日アイキャッチが表示されない不具合を修正いたしました。
  • 2024年03月26日WordPressの操作方法をサポートさせていただきました。
  • 2024年03月25日サイト上で発生していたリンクの不具合を解消いたしました。
  • 2024年03月24日不具合で表示されなくなったサイトを表示される状態まで復旧いたしました。
  • 2024年03月23日WordPress、テーマ、プラグイン、のバージョンアップを担当いたしました。
  • 2024年03月22日WordPressにログインできない不具合を解消いたしました。
  • 2024年03月21日既存サイトにセキュリティ対策を導入いたしました。
  • 2024年03月20日メールフォーム周りで発生していた不具合を解消いたしました。
  • 2024年03月19日記事一覧をカテゴリー単位で表示できる様にカスタマイズいたしました。
  • 2024年03月18日WordPress、テーマ、プラグイン、のバージョンアップを担当いたしました。
  • このエリアには直近の制作実績を一部掲載しております。
  • 制作実績はリアルタイム反映ではありません。

カテゴリウィジェットでカスタムタクソノミーのターム一覧を表示させる方法

この投稿は2019/09/15に加筆修正いたしました。

カテゴリウィジェットをカスタマイズして、カスタムタクソノミーのターム一覧を表示できるようにします。このカスタマイズは一度だけでOK。カスタマイズ後に別のカスタムタクソノミーを作成した場合でも、そのタクソノミーのタームを一覧表示することができます。

この記事は約 7 分で読めます。

カスタムタクソノミーのターム一覧はウィジェットでは表示できない

WordPressでのサイト制作を頻繁に行っていると、カスタム投稿を使用する機会が多くあります。

カスタム投稿を使えば、そのカスタム投稿に独自のカテゴリ機能(カスタムタクソノミー)を持たせたいケースも多くなります。

カスタム投稿にカテゴリ機能を持たせれば、そのカテゴリ一覧をサイドエリアなどに表示するケースも出てきます。しかし、この作業は簡単ではありません。

投稿のカテゴリ一覧であれば、カテゴリウィジェットでカテゴリ一覧を表示できます。

しかし、カスタム投稿のカテゴリは、カテゴリウィジェットでは表示できません。
表示させるなら、カテゴリウィジェットをカスタマイズする必要があります。

カテゴリウィジェットにプルダウンメニューを設け、一覧表示させるカテゴリを選択できるようにカスタマイズします。カスタム投稿のカテゴリをプルダウンメニューから選択すれば、カスタム投稿のカテゴリ一覧を表示できるわけです。

デフォルトのカテゴリウィジェットをカスタマイズする。
こう聞くと難しいように聞こえるかもしれません。
しかし、実際の作業は簡単です。

カテゴリウィジェットでカスタムタクソノミーを表示させるカスタマイズ

以下のコードをfunctions.phpに追記するだけで終わりです。

function override_widget_categories() {
class WP_Widget_Categories_Taxonomy extends WP_Widget_Categories {
private $taxonomy = 'category';
public function widget( $args, $instance ) {
if ( !empty( $instance['taxonomy'] ) ) {
$this->taxonomy = $instance['taxonomy'];
}
add_filter( 'widget_categories_dropdown_args', array( $this, 'add_taxonomy_dropdown_args' ), 10 );
add_filter( 'widget_categories_args', array( $this, 'add_taxonomy_dropdown_args' ), 10 );
parent::widget( $args, $instance );
}
public function update( $new_instance, $old_instance ) {
$instance = parent::update( $new_instance, $old_instance );
$taxonomies = $this->get_taxonomies();
$instance['taxonomy'] = 'category';
if ( in_array( $new_instance['taxonomy'], $taxonomies ) ) {
$instance['taxonomy'] = $new_instance['taxonomy'];
}
return $instance;
}
public function form( $instance ) {
parent::form( $instance );
$taxonomy = 'category';
if ( !empty( $instance['taxonomy'] ) ) {
$taxonomy = $instance['taxonomy'];
}
$taxonomies = $this->get_taxonomies();
?>
<p>
<label for="<?php echo $this->get_field_id( 'taxonomy' ); ?>"><?php _e( 'Taxonomy:' ); ?></label><br />
<select id="<?php echo $this->get_field_id( 'taxonomy' ); ?>" name="<?php echo $this->get_field_name( 'taxonomy' ); ?>">
<?php foreach ( $taxonomies as $value ) : ?>
<option value="<?php echo esc_attr( $value ); ?>"<?php selected( $taxonomy, $value ); ?>><?php echo esc_attr( $value ); ?></option>
<?php endforeach; ?>
</select>
</p>
<?php
}
public function add_taxonomy_dropdown_args( $cat_args ) {
$cat_args['taxonomy'] = $this->taxonomy;
return $cat_args;
}
private function get_taxonomies() {
$taxonomies = get_taxonomies( array(
'public' => true,
) );
return $taxonomies;
}
}
unregister_widget( 'WP_Widget_Categories' );
register_widget( 'WP_Widget_Categories_Taxonomy' );
}
add_action( 'widgets_init', 'override_widget_categories' );

上記コードの参照元:WordPress標準のカテゴリーウィジェットを拡張してカスタムタクソノミーも選択できるようにする

上記のコードをfunctions.phpに追記したら、ウィジェットの管理ページに移動してください。

上記が、カスタマイズしたカテゴリウィジェットです。
このウィジェットをどこかのエリアに設置してみましょう。

カテゴリウィジェットを確認すると、上記に赤枠部分に【分類】というプルダウンメニューが追加されています。

この中から表示させたい「カスタム投稿のカテゴリ(カスタムタクソノミー)」を選択すれば、そのカテゴリ一覧が表示されるという仕組みになっています。

プルダウンに表示されるのは、タクソノミー名です。
タクソノミー名を選択してください。

まとめ

カテゴリウィジェットでカスタムタクソノミーを表示できるようにする方法をご紹介しました。

functions.phpにご紹介しているコードをコピペするだけで完了する簡単なカスタマイズです。
カスタムタクソノミーのターム一覧をウィジェットで表示させたい方は参考にしてください。

ご紹介しているカスタマイズは、テーマやプラグインとの相性によっては正常に動作しない可能性があります。カスタマイズは自己責任で行ってください。

Wordpressのカスタマイズや不具合など
何かお困りのことはありませんか?

Wordpressに関連するあなたのお悩み、解決いたします。
次のような方は、お気軽にご相談下さい。

  • Wordpressサイトをカスタマイズしたいが、やり方が分からないで困っている。カスタマイズの知識が豊富な人に任せたい。
  • Wordpressサイトに不具合が発生したが、直し方が分からない。不具合の修正経験が豊富な人に任せたい。
  • 既存サイトにWordPressを導入したいが、やり方が複雑で自分ではできそうにもない。経験が豊富な人に任せたい。
  • WordPressがハッキングされたが修正の仕方が分からない。サイトを元通りにできる人を探している。
  • Wordpressで0からサイトを制作したいが、自分ではできそうにもない。プロにサイト制作を委託したい。

一つでも該当する方は、以下のフォームからお気軽にご相談下さい。

WordPressに関して今すぐ相談する

著者:takaya kondo

岡山在住のWordPress専門フリーランサーです。Wordpressを使ったWEBサイト制作を中心に10年間ほど活動させていただいています。

Wordpress関連の記事でお役に立てれば幸いです。

【関連記事】あなたが興味のありそうな関連記事をご紹介します。

コメントを残す

(必須)

CAPTCHA