matometaru
12/26/2016 - 12:15 PM

WordPress-Parts

WordPress-Parts

<?php 
/**
 *
 * パンくずリスト
 * 検索結果、404、固定ページ(子孫)、投稿一覧、投稿カテゴリ一覧、投稿詳細、カスタム投稿、タクソノミー一覧、カスタム投稿詳細に対応しています。
 *
 */
 
$home_name = "Home";
$blog_name = "ニュース・トピックス";
$blog_slug = "news";
$page404_name = "NOT FOUND";
?>
 
<?php if( !is_front_page() ): ?>
<ol id="breadcrumb" class="viewPc" itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
	<li class="home"><a href="<?php echo home_url(); ?>" itemprop="url"><span itemprop="title"><?php echo $home_name; ?></span></a></li>
<?php //検索結果 ?>
<?php if(is_search()): ?>
	<li class="current"><span class="current" itemprop="title">「<?php the_search_query(); ?>」で検索した結果</span></li>
<?php //404 ?>
<?php elseif(is_404()): ?>
	<li class="current"><span class="current" itemprop="title"><?php echo $page404_name; ?></span></li>
<?php //固定ページ ?>
<?php elseif(is_page()): ?>
	<?php if($post->post_parent): ?>
		<?php $ancestors = array_reverse( $post-> ancestors ); ?>
		<?php foreach($ancestors as $ancestor): ?>
			<li><a href="<?php echo get_permalink($ancestor); ?>" itemprop="url"><span itemprop="title"><?php echo get_the_title($ancestor); ?></span></a></li>
		<?php endforeach; ?>
	<?php endif; ?>
	<li class="current"><span class="current" itemprop="title"><?php echo $post->post_title; ?></span></li>
<?php // 投稿一覧 ?>
<?php elseif(is_home()): ?>
	<li class="current"><span class="current" itemprop="title"><?php echo $blog_name; ?></span></li>
<?php // カテゴリ一覧 ?>
<?php elseif(is_category()): ?>
	<li><a href="<?php echo home_url('/'); ?><?php echo $blog_slug; ?>/" itemprop="url"><span itemprop="title"><?php echo $blog_name; ?></span></a></li>
	<?php $cat = get_queried_object(); /* オブジェクトを取得 */ ?>
    <?php if($cat -> parent != 0): /* 親カテゴリーの有無 */?>
        <?php $ancestors = array_reverse(get_ancestors( $cat -> cat_ID, 'category' )); /* 祖先カテゴリーの取得 */ ?>
		<?php foreach($ancestors as $ancestor): /* 親カテゴリーの数だけ繰り返し処理 */ ?>
			<li><a href="<?php echo get_category_link($ancestor); ?>"><?php echo get_cat_name($ancestor); ?></a></li>
		<?php endforeach; ?>
	<?php endif; ?>
    <li class="current"><span class="current" itemprop="title"><?php echo wp_title('', false); ?></span></li>
<?php // 投稿詳細 ?>
<?php elseif(is_singular('post')): ?>
	<li><a href="<?php echo home_url('/'); ?><?php echo $blog_slug; ?>/" itemprop="url"><span itemprop="title"><?php echo $blog_name; ?></span></a></li>
	<?php $cat = get_the_category(); $cat = $cat[0]; ?>
	<li><a href="<?php echo home_url('/'); ?>category/<?php echo $cat->category_nicename; ?>/" itemprop="url"><span itemprop="title"><?php echo get_cat_name($cat->term_id); ?></span></a></li>
	<li class="current"><span itemprop="title"><?php the_title(''); ?></span></li>
<?php // カスタム投稿一覧 ?>
<?php elseif(is_post_type_archive()): ?>
	<?php
		$queried_object = get_queried_object();
		$custom_posttype_slug 	= $queried_object->name; //faq
		$custom_posttype_name 	= $queried_object->label; //よくある質問
	?>
	<li><span class="current" itemprop="title"><?php echo $custom_posttype_name; ?></span></li>
<?php // タクソノミー一覧 ?>
<?php elseif(is_tax()): ?>
	<?php
		$queried_object = get_queried_object();
		$custom_posttype_slug = get_post()->post_type; // taxonomyページの先頭記事から判定するので、正確ではない。(タクソノミーを複数のカスタム投稿を関連付けてない場合は正確)
		$custom_posttype_name = get_post_type_object($custom_posttype_slug)->label; //よくある質問
		$term_slug = $queried_object->slug; //campaign
		$term_name = $queried_object->name; //キャンペーン
	?>
	<li><a href="<?php echo home_url('/') . $custom_posttype_slug; ?>/" itemprop="url"><span itemprop="title"><?php echo $custom_posttype_name; ?></span></a></li>
	<li><span class="current" itemprop="title"><?php echo $term_name; ?></span></li>
<?php elseif(is_single()): ?>
<?php
	$queried_object = get_queried_object();
	$custom_posttype_slug 	= $queried_object->post_type; //faq
	$custom_posttype_name 	= get_post_type_object($custom_posttype_slug)->label; //よくある質問
	$taxonomy_slug = get_object_taxonomies( $post );
	$taxonomy_slug = $taxonomy_slug[0]; //faq_cat
	$terms = get_the_terms($post->ID, $taxonomy_slug );
	$term = $terms[0];
?>
	<li><a href="<?php echo home_url('/'); ?><?php echo $custom_posttype_slug; ?>/" itemprop="url"><span itemprop="title"><?php echo $custom_posttype_name; ?></span></a></li>
	<?php if(is_singular('service')): ?>
	<li><a href="<?php echo home_url('/'); ?><?php echo $custom_posttype_slug; ?>/<?php echo $term->slug; ?>/" itemprop="url"><span itemprop="title"><?php echo $term->name; ?></span></a></li>
	<?php endif; ?>
	<li><span class="current" itemprop="title"><?php the_title(''); ?></span></li>
<?php endif; ?>
</ol>
<?php endif; ?>