こんにちは
使ったことはありませんがこちらで作者様がこれでできると思うよと言っています
ありがとうございます。
サイト訪問し、プラグインをインストールしてみましたが、変化ありませんでした。
英語力がなく、理解しきれていないこともあり、管理画面にも設定が追加された感じもなくどのようにすれば良いかわからない状況です。
お手数をおかけしますが、詳細をお教えいただけますと幸いです。
入れてみました。
どうやら、投稿一つ一つで設定するようですね
記事編集画面にPrimary カテゴリーというボックスができていると思いますので
そこから選択するようです。
投稿全体で優先順位を選択する場合は
先のサイトで
「Breadcrumb NavXTはget_the_terms()で出てくる順序になる」とあるので
そこをフィルターフックで何とかできればいいかもしれません。
若しくは、新規投稿の際にjavascriptを読み込ませて先のセレクトボックスを
自動で変更させるような感じになるかと思います。
こちらで確認できました。
先ほどのプラグインは削除した上で
ps_taxonomy_expanderをインストールして
functions.phpに
function my_priority_category_sort($a,$b){
if ($a->term_order == $b->term_order) {
return 0;
}
return ($a->term_order < $b->term_order) ? -1 : 1;
}
function my_priority_category($terms) {
if (is_single()){
usort($terms,'my_priority_category_sort');
}
return $terms;
}
add_filter('get_the_terms', 'my_priority_category');
を追記すれば、管理画面のterm orderの上のが表示されると思います。
表示する部分を更に限定する場合はis_singleの判定あたりを適当に変えてみて下さい。
jdbb様
追加の調査とアドバイスをありがとうございます!
頂戴した内容を実行してみたところ、エリアを一番上にしているのですが、それでも
HOME > 金額 > 3000~5000万円 > 物件名
ではなくなったのですが、
HOME > 条件 > 仲介手数料無料 > 物件名
となり、表示させたいものにすることができませんでした。
何度も申し訳ございません。こうなる原因は何かわかりますでしょうか。
よろしくお願いいたします。
nobita様
ありがとうございます。
フォーラムにて相談する前に、かなり試行錯誤しておりまして、その中でご紹介いただいたページも見ておりましたが、自力では解決ができず、相談をいたしました。
もしよろしければ、今回の問題解決にお力をお貸しいただけますと幸いです。
よろしくお願いいたします。
カテゴリが複数ある場合の、表示の矯正をフィルタなどで行おうとすると、環境的な事(環境の再現)と、かなり細かな作業になるので、直接お手伝いは困難と思いますが、
パンくず表示例)
【表示させたいもの】HOME > エリア > 中野区 > 物件名
【実際】 HOME > 金額 > 3000~5000万円 > 物件名
このように、表示したいパンくずとのギャップが激しいページがあるという事でしたら、
その部分だけ、
http://webcheatsheet.com/PHP/get_current_page_url.php
のようなとり方で、現在のURLを取得して、そのURLを元に、
URLから、dirname()などを使って、パンくずの階層を取り出すような事で、手製のパンくずを作るという事は( 区名のテキストはbasename()から以下のような感じで置き換えを行うとかで、)
$areaneme = array(‘nakanoku’ => ‘中野区’,……);
難しいのですか?
多階層カテゴリということを忘れていました。
parentが0まで遡ればいいだけですので
function my_priority_category_parent($t){
if($t->parent){
$pt = get_term($t->parent,$t->taxonomy);
if ($pt->parent){
return my_priority_category_parent($pt);
}else{
return $pt;
}
}else{
return $t;
}
}
function my_priority_category_sort($a,$b){
$c = my_priority_category_parent($a);
$d = my_priority_category_parent($b);
if ($c->term_order == $d->term_order) {
return 0;
}
return ($c->term_order < $d->term_order) ? -1 : 1;
}
function my_priority_category($terms) {
if (is_single()){
usort($terms,'my_priority_category_sort');
}
return $terms;
}
add_filter('get_the_terms', 'my_priority_category');
先ほど追加した部分を上のに差し替えてやればいいかと思います。
ただ、get_terms自体を変更するものですので
局地的に変更したいというのであればnobita様の方法で
その部分だけ書き方を変えたり、Breadcrumb NavXTのフックがあれば
そちらに引っ掛けるほうが影響は少ないと思います。
nobita様
追加のアドバイスありがとうございます!
個別ではなく全体で変更を加えたかったこと、URLが今後変更される可能性があり、URLに依存しない方法で変更をしたかったため、jdbb様の方法で実装いたしました。
jdbb様
追加で頂戴した内容で無事に表示させることができました!1週間ほど拙い知識とネットの情報を参考に悪戦苦闘していたましたので、とても嬉しいです。
本当にありがとうございました。