hazudogさん、こんにちは。
パーマリンク
wp-includes/link-template.phpのget_permalink関数より
$category = '';
if ( strpos($permalink, '%category%') !== false ) {
$cats = get_the_category($post->ID);
if ( $cats ) {
usort($cats, '_usort_terms_by_ID'); // order by ID
$category = $cats[0]->slug;
get_the_categoryでカテゴリーを取得して _usort_terms_by_ID を用いてid順に並び替えを行っているので、idの少ない(最初に登録したカテゴリー)になるようです。
Breadcrumb NavXT
breadcrumb_navxt_class.phpのpost_taxonomyメソッドより
$bcn_object = get_the_terms($id, $this->opt['post_' . $type . '_taxonomy_type']);
if(is_array($bcn_object))
{
//Now find which one has a parent, pick the first one that does
$bcn_use_term = key($bcn_object);
foreach($bcn_object as $key=>$object)
{
//We want the first term hiearchy
if($object->parent > 0)
{
$bcn_use_term = $key;
//We found our first term hiearchy, can exit loop now
break;
}
}
//Fill out the term hiearchy
$this->term_parents($bcn_object[$bcn_use_term]->term_id, $this->opt['post_' . $type . '_taxonomy_type']);
}
少々複雑ですが、名前順にカテゴリーを取得し、親階層を持つカテゴリーが存在すれば、そちらが優先されるようになっています。
jim912さん
ご返答大変ありがとうございます。
パーマリンクの方は、若い番号が適用される事は分かりましたが、Breadcrumb NavXTの方は未だに解決ができません。
Breadcrumb NavXTにつきまして:
名前順にカテゴリーを取得し、親階層を持つカテゴリーが存在すれば、そちらが優先されるようになっています。
とのことですが、”乳製品”のカテゴリと”デザート”は同階層にあり、
同じ親階層を持っていますので、どのような法則で優先されているのかが分かりません。
尚現在、意図しないほうカテゴリがパン屑に表示されてしまい改善ができない状態にあります。
なにかのプラグインを使用することや、解決策はありませんでしょうか。
どうぞ宜しくお願いいたします。
先ほどの投稿間違っておりました。
失礼いたしました。
同じ親階層を持っていますので、どのような法則で優先されているのかが分かりません。
と書きましたが、同じ親階層を持っていません。
以下のような構造です。
> 乳製品 > ヨーグルト
> デザート > ヨーグルト
パン屑にデザートと表示してほしいところ、乳製品と表示されています。
どうぞ宜しくお願いいたします。