サポート » 使い方全般 » サブループで表示したカスタム投稿タイプとパンくずが連動?

  • 解決済 gellgugu

    (@gellgugu)


    お世話になっております。

    作成中のサイトにパンくずリストを表示したいと思い、WEBデザインレシピさんを参考にしてみたり、Breadcrumb NavXTというプラグインを利用してみたりとやってみましたが、いずれもヘッダー部分に設置した「お知らせ」に表示された一番古い記事のタイトルがパンくずリストに表示されてしまいます。

    下記がお知らせを表示するサブループです。

    <div id="information_min">
     <div class="head-info_min">
      <p class="right-align"><a href="<?php bloginfo('template_url'); ?>/information/">お知らせ一覧へ</a></p>
      <div class="scroll">
      <?php $loop = new WP_Query('post_type=informations&showposts=4'); ?>
      <?php while ( $loop->have_posts() ) : $loop->the_post();/* ループ開始 */ ?>
       <ul>
        <li><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title_attribute(); ?></a>
        </li>
       </ul>
      <?php endwhile; ?>
      </div>
     </div>
    </div>

    このshowpostsの値を変更すると、表示されるお知らせの記事数が変わりますが、その表示された一番古い記事のタイトルが

    Home > お知らせの記事タイトル

    の様な形で表示されてしまいます。

    原因はこのサブループにあると思うのですが、どこがどうおかしいのかが分かりません。
    下記が現在使用しているパンくずリストのコードです。

    function get_breadcrumb($divOption = array("id" => "breadcrumb", "class" => "clearfix")){
    	global $post;
    	$str ='';
    	if(!is_home()&&!is_admin()){ /* !is_admin は管理ページ以外という条件分岐 */
    		$tagAttribute = '';
    		foreach($divOption as $attrName => $attrValue){
    			$tagAttribute .= sprintf(' %s="%s"', $attrName, $attrValue);
    		}
    		$str.= '<div'. $tagAttribute .'>';
    		$str.= '<ul>';
    		$str.= '<li><a href="'. home_url() .'/">HOME</a></li>';
    		$str.= '<li>></li>';
    
    		if(is_category()) {								//カテゴリーのアーカイブページ
    			$cat = get_queried_object();
    			if($cat -> parent != 0){
    				$ancestors = array_reverse(get_ancestors( $cat -> cat_ID, 'category' ));
    				foreach($ancestors as $ancestor){
    					$str.='<li><a href="'. get_category_link($ancestor) .'">'. get_cat_name($ancestor) .'</a></li>';
    					$str.='<li>></li>';
    				}
    			}
    			$str.='<li>'. $cat -> name . '</li>';
    		} elseif(is_single()){							//ブログの個別記事ページ
    			$categories = get_the_category($post->ID);
    			$cat = $categories[0];
    			if($cat -> parent != 0){
    				$ancestors = array_reverse(get_ancestors( $cat -> cat_ID, 'category' ));
    				foreach($ancestors as $ancestor){
    					$str.='<li><a href="'. get_category_link($ancestor).'">'. get_cat_name($ancestor). '</a></li>';
    					$str.='<li>></li>';
    				}
    			}
    			$str.='<li><a href="'. get_category_link($cat -> term_id). '">'. $cat-> cat_name . '</a></li>';
    			$str.='<li>></li>';
    			$str.= '<li>'. $post -> post_title .'</li>';
    		} elseif(is_page()){							//固定ページ
    			if($post -> post_parent != 0 ){
    				$ancestors = array_reverse(get_post_ancestors( $post->ID ));
    				foreach($ancestors as $ancestor){
    					$str.='<li><a href="'. get_permalink($ancestor).'">'. get_the_title($ancestor) .'</a></li>';
    					$str.='<li>></li>';
    				}
    			}
    			$str.= '<li>'. $post -> post_title .'</li>';
    		} elseif(is_date()){							//日付ベースのアーカイブページ
    			if(get_query_var('day') != 0){				//年別アーカイブ
    				$str.='<li><a href="'. get_year_link(get_query_var('year')). '">' . get_query_var('year'). '年</a></li>';
    				$str.='<li>></li>';
    				$str.='<li><a href="'. get_month_link(get_query_var('year'), get_query_var('monthnum')). '">'. get_query_var('monthnum') .'月</a></li>';
    				$str.='<li>></li>';
    				$str.='<li>'. get_query_var('day'). '日</li>';
    			} elseif(get_query_var('monthnum') != 0){	//月別アーカイブ
    				$str.='<li><a href="'. get_year_link(get_query_var('year')) .'">'. get_query_var('year') .'年</a></li>';
    				$str.='<li>></li>';
    				$str.='<li>'. get_query_var('monthnum'). '月</li>';
    			} else {									//年別アーカイブ
    				$str.='<li>'. get_query_var('year') .'年</li>';
    			}
    		} elseif(is_search()) {							//検索結果表示ページ
    			$str.='<li>「'. get_search_query() .'」で検索した結果</li>';
    		} elseif(is_author()){							//投稿者のアーカイブページ
    			$str .='<li>投稿者 : '. get_the_author_meta('display_name', get_query_var('author')).'</li>';
    		} elseif(is_tag()){								//タグのアーカイブページ
    			$str.='<li>タグ : '. single_tag_title( '' , false ). '</li>';
    		} elseif(is_attachment()){						//添付ファイルページ
    			$str.= '<li>'. $post -> post_title .'</li>';
    		} elseif(is_404()){								//404 Not Found ページ
    			$str.='<li>404 Not found</li>';
    		} else{											//その他
    			$str.='<li>'. wp_title('', true) .'</li>';
    		}
    		$str.='</ul>';
    		$str.='</div>';
    	}
    	echo $str;
    }

    何かお分かりの方、よろしくお願いいたします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「サブループで表示したカスタム投稿タイプとパンくずが連動?」には新たに返信することはできません。