タクソノミーの一覧をショートコードで編集・ソート機能付き・wp_list_categories
2016/01/12
カスタムタクソノミーのターム一覧の作成方法
カスタムタクソノミーのターム一覧をショートコードで編集・まえがき
カスタムタクソノミーのターム一覧をウィジェットにショートコードで編集するプログラムを「カスタムタクソノミーのターム一覧をウィジェットにショートコードで編集」で紹介しました。
これを書いた時にはまだローカルで実験をしている段階でしたので、これでよかったのですが、実際に運用するにあたってはタクソノミーを任意の順番に並び替える必要に迫られましたので、並び順を自由に変えられる方法を採ることにしました。
「カスタムタクソノミーのターム一覧をウィジェットにショートコードで編集」に追記をしようかと思いましたが、多様な方法があるために別記事にしました。
カスタムタクソノミーを並び替える・Category Order and Taxonomy Terms Order
カスタムタクソノミーを自由に並び替えて表示する前提として、カスタムタクソノミーのタームを管理側で並び順を指定する方法として、プラグインの Category Order and Taxonomy Terms Orderを利用しています。
この Category Order and Taxonomy Terms Orderで並び替えたカテゴリやタクソノミーのタームを一覧表示します。
Category Order and Taxonomy Terms Orderの使い方については「カテゴリ・タクソノミーのタームの順番を自由に並び替えるプラグイン・Category Order and Taxonomy Terms Order」に記事を書いていますので参照してください。
カスタムタクソノミーのターム一覧を表示するショートコード
カスタムタクソノミーの一覧表示するソースコード
カスタムタクソノミーのターム一覧をウィジェットに編集するために必要なショートコードのソースコードは以下の通りです。
これを functions.phpにコピペします。
functions.phpの詳しい解説ついては「WordPressの functions.phpがある場所」を参照してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
add_filter('widget_text', 'do_shortcode' ); // サイドバーに指定のタクソノミーを表示するショートカット2 function shortcodeFunc ( $arg ) { extract ( shortcode_atts ( array ( 'text' => 'category', ), $arg ) ); $html = ""; $html .= '<div id="mybox">'; $html .= wp_list_categories ( array ( 'title_li' => '', 'taxonomy' => $text, 'show_count' => 1, 'style' => false, 'depth' => 0, 'echo' => false, 'orderby' => 'term_order', 'order' => 'ASC' )); $html .= '</div>'; return $html; } add_shortcode('get_taxonomy_term_list', 'shortcodeFunc'); |
また、ウィジェットに編集するショートコードは、下記の様になります。
1 |
[get_taxonomy_list text=s_taxonomy] |
引数として「text」でカスタムタクソノミーの「slug」を指定します。
「text」の指定がない場合は、「category」が指定されたものとして処理されます(カスタムタクソノミーではなく、デフォルトのカテゴリーの一覧が表示されます)。
カスタムタクソノミーの一覧・wp_list_categories()関数の解説
wp_list_categories()関数の解説に関しては、「カスタムタクソノミーのターム一覧をウィジェットにショートコードで編集」に詳しく書いていますので参考にしてください。
今回はソート順を指定するという処理を追加していますので、wp_list_categories()関数に指定する配列に下記の項目を追加しています。
1 2 |
'orderby' => 'term_order' 'order' => 'ASC' |
このうち「term_order」が、プラグイン「Category Order and Taxonomy Terms Order」で設定される並び順の項目です。
この「term_order」をキーとして設定すれば OKです。
また、「カテゴリ・タクソノミーのタームの順番を自由に並び替えるプラグイン・Category Order and Taxonomy Terms Order」の設定画面の「自動ソート」という項目を「オン」にしておくと、この「term_order」をソートキーとして指定しなくても常に「term_order」でソートされた状態で取得されます。
逆に「オン」になっていても、orderby、order項目でソート条件を指定することで指定したソート条件でソートすることができます。
カスタムタクソノミーのタームを取得する関数
カテゴリやカスタムタクソノミーのターム一覧を作成する場合は、今回の記事で紹介した wp_list_categories()関数が便利です。
ですが、wp_list_categories()関数は、一覧表示するためにレイアウトを整えた形式で取得できますので、自由な編集が行いにくいのも事実です。
そんなときは、値だけを取得するget_categories()関数、get_terms()関数などがあります。
こちらの関数に関しては「get_categories、get_termsでカテゴリとタクソノミーのターム一覧の編集方法」に記事をまとめましたので参考にしてください。
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
WordPressのメールフォームはwp_mail()関数でメール送信。スパム対策も
WordPressでメール送信フォームを作成するための関数「wp_mail()」の使い方の解説。CC、BCC、添付ファイルも HTMLメールも設定可能。
-
ショートコードで簡単解決!カスタムフィールドでソート、抽出条件設定方法
ショートコードを使って固定ページや投稿に特定のカテゴリ一覧を編集する処理に、ソート条件、抽出条件も設定できる処理を作成。カスタムフィールドも条件に利用可。
-
自サイト内のリンクをショートコードで指定する・アンカーリンク対応版
自サイト内の記事にショートコードで自動リンクを設定する関数のソースコードを提供。Post ID、slugで指定でき、アンカーリンクを設定する場合も対応。
-
WordPressプログラム全体で定数や変数を利用する場合の設定方法
WordPressで関数を追加するときなど、全体で同じ変数を使いたいと思う場面の対処方法です。変数を記述する関数はfunctions.php、wp-config.phpのいずれか。
-
WordPressで ¥円マークが \バックスラッシュになる原因と対処方法
円マークがバックスラッシュに変換される。その原因と対処方法を解説します。原因はCSSでのフォント指定に欧文フォントも含まれるため欧文フォントで表示されること。
-
WordPressでダブルクォートなどの文字が自動変換?原因と対処方法
ダブルクォート、シングルクォート、HTMLタグなどが自動変換関数によって入力と違う形で表示されます。原因を2つの関数ごとに説明し、対応方法を3パターン提示します。
-
ショートコード+ウィジェットでサイドバーに人気記事を表示させる方法
WordPressのサイドナビゲーションに人気記事を編集する方法です。プラグインを使わずウィジェットにショートコードで任意のPostIDを指定することで編集する方法です。
-
カスタムタクソノミーのターム一覧をウィジェットにショートコードで編集
カスタムタクソノミーに属するターム(カテゴリ)の一覧を wp_list_categories()関数+ショートコードでウィジェットに編集するサンプルプログラムです。
-
get_categories、get_termsでカテゴリとタクソノミーのターム一覧の編集方法
get_categories()関数やget_terms()関数を使ってタクソノミーのタームを取得し検索処理の部品を作るプログラム作りその解説をしています。
-
WordPressの記事編集で文字が自動変換される要注意な文字列
記事を編集する際、入力した文字とは違う表示のされ方をする文字、アポストロフィ、ダブルクォート、円マーク、三点リーダ(…)など、その解説と対応方法です。