目次
トップページ設置用
今回は通常投稿向け。
<?php
$args = array(
'posts_per_page' => 4,
'post_type' => 'post', //postは通常の投稿機能
'post_status' => 'publish'
);
$my_posts = get_posts($args);
?>
<?php foreach ($my_posts as $post): setup_postdata($post); ?>
<div class="article">
<dl>
<dt>
<span class="date"><?php the_time('Y/n/j'); ?></span>
</dt>
<dd>
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
</dd>
</dl>
</div>
<?php endforeach; ?>
<?php wp_reset_postdata(); ?>
カスタマイズ用ヒント
‘posts_per_page’ => 4, …表示させる投稿数
‘post_type’ => ‘post‘, …表示させる投稿タイプslug
投稿一覧ページ用
<?php get_header(); ?>
<?php query_posts('post_type=post&paged=' . $paged); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<div class="post">
<p><?php the_time("Y/m/j") ?></p>
<h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
<?php
if (has_post_thumbnail()) {
the_post_thumbnail();
}
?>
<?php
global $more;
$more = FALSE;
?>
<?php the_content('続きを読む'); ?>
<?php $more = TRUE; ?>
</div>
<?php endwhile; ?>
<?php echo paginate_links(); ?>
<?php else : ?>
<div class="post">
<h2>記事が見つかりません</h2>
<p>記事が存在しないときのテキスト</p>
</div>
<?php endif; ?>
<?php wp_reset_query(); ?>
<?php get_template_part('pagination');//html5blank用 ?>
カスタマイズ用ヒント
<?php query_posts(‘post_type=★投稿タイプslug★&paged=’ . $paged); ?>
<?php query_posts(‘post_type=post&cat=★カテゴリID★&paged=’ . $paged); ?>
固定ページ内部用
new WP_Query(); が必要。
<?php
$args = array(
'posts_per_page' => 5,
'category_name' => "other",
'post_type'=>'post',
);
?>
<dl>
<?php
$my_posts=new WP_Query();
$my_posts->query($args);
if($my_posts->have_posts()): while($my_posts->have_posts()):$my_posts->the_post();
?>
<?php
$cat=get_the_category();
$cat=$cat[0];
?>
<dt><span class="cat cat_<?php echo $cat->category_nicename; ?>"><?php echo $cat->cat_name; ?></span>
<span class="date"><?php the_time('Y.m.d'); ?></span>
</dt>
<dd class="ttl">
<a href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a>
</dd>
<?php endwhile; endif; ?>
</dl>
<a class="btn btn_more_arrow_black" href="<?php echo home_url(); ?>/news/">more</a>
<?php wp_reset_postdata(); ?>
カスタム投稿タイプ×カスタムタクソノミーごとにループ
<?php
// タクソノミ取得
$catargs = array(
'taxonomy' => 'glossary_cat',
);
$catlists = get_terms($catargs);
foreach ($catlists as $k => $cat) : // 取得したカテゴリの配列でループを回す
?>
<section class="glossary_cat_wrap">
<h3 class="<?php echo ($k % 2 == 0) ? 'line_red' : 'line_green' ?>" id="<?php echo $cat->slug; ?>"><?php echo $cat->name; ?></h3>
<?php
$args = array(
'post_type' => 'glossary',
'posts_per_page' => -1, //表示件数(-1は全件表示)
'orderby' => 'date', //ソートの基準
'order' => 'ASC', //DESC降順 ASC昇順
'glossary_cat' => $cat->slug);
$my_posts = get_posts($args);
if ($my_posts) { // 該当する投稿があったら
foreach ($my_posts as $post) :
setup_postdata($post);
?>
<article>
<h4 class="glossary_ttl"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4>
<p><?php the_excerpt(); ?></p>
</article>
<?php
endforeach;
} else {
echo 'このカテゴリに投稿はありません';
}
wp_reset_postdata();
?>
</section>
<?php endforeach; ?>
コメント