get_post & foreach カテゴリの一覧をリンク付きで取得するメモ
まずループ文があります
<?php
//ループさせたいデータのステータス
$args = array(
'posts_per_page' => 100, //100件ループ
'post_type' => 'post' //投稿種別
//追加で変数の追加が可能...
);
$myposts = get_posts( $args ); //設定したデータをゲットする
?>
<?php foreach ( $myposts as $post ) : setup_postdata( $post );?>
//$mypostsをループ、投稿データは$postに収納されている
でforeach
内にループさせたい本文を記載する
<?php foreach ( $myposts as $post ) : setup_postdata( $post );?>
<li>
<a href="/<?php echo esc_html( $post->post_type ); ?>/<?php echo esc_html( $post->post_name ); ?>">
<dl class="cf">
<dd><?php echo esc_html( $post->post_title ); ?></dd>
</dl></a>
</li>
※$postのデータ内からpost_typeを取り出している。
※$postのデータ内からpost_nameを取り出している。
※$postのデータ内からpost_titleを取り出している。
<?php
endforeach;
?>
なので$post
からカテゴリ一覧をforeach
して出力します。
<?php
$categories = get_the_category($post);//$postからカテゴリを取得する
foreach( $categories as $category ) {
echo '<a href="'.get_category_link($category->term_id).'">'.$category->name.'</a>';
}
//$categoriesをループ、一つごとのカテゴリデータは$categoryに収納されている
//$categoryのデータ内からterm_idを取り出している。
//$categoryのデータ内からnameを取り出している。
?>
これを最初のループ文のどっかに入れる。
WordPressでカテゴリをすべて取得したり、単体で取得したり、リンク付きで取得したり