効率よくテーマを作成する覚書1

情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。

できるだけファイル数を少なくすませるために、
テスト環境から移動しても書き換えなくて良いように、

カテゴリーを取得してスラッグを表示(タイトル画像など)、ページスラッグはecho $post->post_name;

<?php $cat = get_the_category(); $cat = $cat[0]; {
echo '<img src="' .get_template_directory_uri(). '/images/title_' . $cat->category_nicename . '.jpg" alt="' . $cat->cat_name . '" width="xxx" height="xxx" />';
} ?>

表示しているカテゴリーの記事リスト

<?php $cat = get_the_category(); $cat = $cat[0];
$myposts = get_posts('numberposts=5&amp;amp;amp;amp;category='.$cat->cat_ID.'');
foreach($myposts as $post) :
?>
<li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>

カテゴリースラッグからIDを収得

<?php $cat = get_category_by_slug('xxxxxx');
$myposts = get_posts('numberposts=5&amp;amp;amp;amp;category='.$cat->term_id.'');
foreach($myposts as $post) :
?>
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>

ページスラッグからIDを取得して、その子ページのリストを表示

<?php wp_list_pages(array('title_li' =>'','sort_column'=>'menu_order', 'child_of' => get_ids_from_slugs('intro'))); ?>
*functions.phpに
function get_ids_from_slugs($slugs){
$slugs = preg_split("/,s?/", $slugs);
$ids = array();
foreach($slugs as $page_slug){
$page = get_page_by_path($page_slug);
array_push($ids, $page->ID);
}
return implode(",", $ids);
}