パンくずリストというカテゴリの階層を表示するやつ、
Snapshots » その他 » breadcrumb
こんなのを、ここを参考に設定してみた。
変更点は、
- <ul></ul>の外側に<div class=”breadcrumbs”></div>を追加
- style.cssを少し加筆修正
functions.phpに以下を追記
function get_breadcrumbs(){
global $wp_query;
if ( !is_home() ){
// Start the UL
echo '<div class="breadcrumbs"><ul>';
// Add the Home link
echo '<li><a href="'. get_settings('home') .'">'. get_bloginfo('name') .'</a></li>';
if ( is_category() ) {
$catTitle = single_cat_title( "", false );
$cat = get_cat_ID( $catTitle );
echo "<li> » ". get_category_parents( $cat, TRUE, " » " ) ."</li>";
}
elseif ( is_archive() && !is_category() ) {
echo "<li> » Archives</li>";
}
elseif ( is_search() ) {
echo "<li> » Search Results</li>";
}
elseif ( is_404() ) {
echo "<li> » 404 Not Found</li>";
}
elseif ( is_single() ) {
$category = get_the_category();
$category_id = get_cat_ID( $category[0]->cat_name );
echo '<li> » '. get_category_parents( $category_id, TRUE, " » " );
echo the_title('','', FALSE) ."</li>";
}
elseif ( is_page() ) {
$post = $wp_query->get_queried_object();
if ( $post->post_parent == 0 ) {
echo "<li> » ".the_title('','', FALSE)."</li>";
}
else {
$title = the_title('','', FALSE);
$ancestors = array_reverse( get_post_ancestors( $post->ID ) );
array_push($ancestors, $post->ID);
foreach ( $ancestors as $ancestor ) {
if( $ancestor != end($ancestors) ) {
echo '<li> » <a href="'. get_permalink($ancestor) .'">'. strip_tags( apply_filters( 'single_post_title', get_the_title( $ancestor ) ) ) .'</a></li>';
}
else {
echo '<li> » '. strip_tags( apply_filters( 'single_post_title', get_the_title( $ancestor ) ) ) .'</li>';
}
}
}
}
// End the UL
echo "</ul></div>";
}
}
single.phpに以下を追記
<?php get_breadcrumbs(); ?>
style.cssに以下を追記
.breadcrumbs{
clear: both;
padding: 0 0 28px 0;
}
.breadcrumbs ul {
list-style: none;
padding: 0;
margin: 0;
font-size:12px;
}
.breadcrumbs ul li {
float: left;
margin: 0 5px 0 0;
padding: 0;
}