どもです。
先日、原付自転車で横転した餅。です。
打ち身による全身筋肉痛と闘う今日このごろ。
さて、今回はWordPress。
ちょっと真面目にPHPと格闘してみました。
今回紹介するのは、当サイトにこっそり追加された「全件リスト」の作り方です。
兎にも角にもまずはソースをどーん!
if ( ! $cat_all = wp_cache_get( 'all_category_all', 'category' ) ) {
$cat_all = get_terms( 'category', 'fields=all&get=all' );
wp_cache_add( 'all_category_all', $cat_all, 'category' );
}
for($i = 0; $i< count($cat_all); $i++){
$cat_parent = $cat_all[$i];
$cat_pname = $cat_parent->name;
$cat_slug = $cat_parent->slug;
$cat_id = $cat_parent->term_id;
$cat_parent = $cat_parent->parent;
if($cat_parent == 0){ ?>
<p id="list_<?php echo $cat_slug ?>"><?php echo $cat_pname ?></p>
<?php $cat_info = get_categories('child_of='.$cat_id);
foreach ($cat_info as $category) { if($category->count != 0) : ?>
<ul>
<p id="list_<?php echo $category->category_nicename; ?>"><?php echo $category->cat_name; ?></p>
<?php query_posts('posts_per_page=-1&orderby=name&category__in='.$category->term_id);
if (have_posts()) : while (have_posts()) : the_post();
?>
<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
<?php endwhile;wp_reset_query();endif;endif; ?>
</ul>
<?php };
}
}
?>
そして、仕組みもご紹介。
参考サイト様はこちら。
全てのカテゴリ構造を取得するコードを使わせて戴きました。