タクソノミーの一覧をショートコードで編集・ソート機能付き・wp_list_categories
2016/03/11
カスタムタクソノミーのターム一覧の作成方法
カスタムタクソノミーのターム一覧をショートコードで編集・まえがき
カスタムタクソノミーのターム一覧をウィジェットにショートコードで編集するプログラムを「カスタムタクソノミーのターム一覧をウィジェットにショートコードで編集」で紹介しました。
これを書いた時にはまだローカルで実験をしている段階でしたので、これでよかったのですが、実際に運用するにあたってはタクソノミーを任意の順番に並び替える必要に迫られましたので、並び順を自由に変えられる方法を採ることにしました。
「カスタムタクソノミーのターム一覧をウィジェットにショートコードで編集」に追記をしようかと思いましたが、多様な方法があるために別記事にしました。
カスタムタクソノミーを並び替える・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
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
Custom Field Templateで簡単にカスタムフィールドをフル活用
カスタムフィールドを簡単に設定するプラグイン。簡単にカスタムフィールドが管理で来て作業効率が数倍にアップします!
-
-
WordPressでダブルクォートなどの文字が自動変換?原因と対処方法
ダブルクォート、シングルクォート、HTMLタグなどが自動変換関数によって入力と違う形で表示されます。原因を2つの関数ごとに説明し、対応方法を3パターン提示します。
-
-
WordPressの送信メールが協定世界時(UTC・グリニッジ標準時)の問題対応
WordPressから送信されてくるメールが9時間ずれている。その不具合の解消方法と根本原因の解説です。date_default_timezone_set();の設定を変更で対応できます。
-
-
WordPressのユーザ名を後から変更する方法。adminの使用は危険。
運用中のユーザ名を変更する方法を解説。かつてのデフォルト設定だった「admin」は誰もが使うIDのため非常に危険です。今からでも変更しましょう。
-
-
WP Mail SMTP、WP SMTP、Easy WP SMTPでWordPressのメールのスパム判定を回避
WordPressから送信したメールがスパム判定される!そんな悩みを解決するプラグインを紹介。3種類にプラグインを比較しオススメを紹介。なぜスパム判定されるかの解説も。
-
-
BackWPupでバックアップ・設定したJobの実行、ファイル一覧
BackWPupその4。バックアップ設定した Jobを実行する方法、ログの一覧、保存されたファイル一覧の解説です。
-
-
WordPress初心者向け講座・詳細解説データベースとは何か?
データベースとは何か?を言葉の意味の説明なども含めエクセルと比較しながら説明しています。
-
-
Basic認証をファイル単位・URL単位で設定する方法の解説
Basic認証はフォルダ単位だけでなくファイル単位での設定もできるためログイン画面だけにBasic認証を設定することもできます。その解説です。
-
-
Captchaを使って WordPressのコメントスパム対策をする
コメントスパム対策として入力させない対策の一つとしてCAPTCHAという方法がありそれを簡単に実装できるプラグインCaptchaの解説です。
-
-
Never Let Me Goで会員制サイトの退会機能を実装
会員制サイトで退会する機能を提供するプラグインの設定方法の解説。Theme My Loginなどの会員登録のプラグインと組み合わせて利用します。