WP制作でよく使うループ処理などなど

WordPress基本タグ

タイトル

・記事のタイトルを表示する。

<?php the_title(); ?>

更新日

・記事の更新日を表示する。

【表示】
2020.4.1

<?php the_time('Y.m.d'); ?>

記事へのリンク

・single.phpへリンクする。

<?php the_permalink(); ?>

 

archive.phpの処理

標準的のループ処理

・POSTをループ表示させる。

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<!-- 記事をループ -->
<?php endwhile; else: ?>
<!-- 記事がない時の処理 -->
<p>記事が見つかりませんでした。</p>
<?php endif; ?>

 

single.phpの処理

次の記事、前の記事へリンク

・前の記事へのリンクを表示する。

<?php previous_post_link('%link', 'Prev'); ?>

・次の記事へのリンクを表示する。

<?php next_post_link('%link', 'Next'); ?>

カスタム投稿の処理

カスタム投稿のarchive.phpでタームを指定して表示

・カスタム投稿のarchive.phpでタームを指定してループ表示する。

<?php
$custom_posts = get_posts(array(
'post_type' => '投稿タイプ', // 投稿タイプ
'posts_per_page' => -1, // 表示件数
'orderby' => 'date', // 表示順の基準
'order' => 'DESC', // 昇順・降順
'tax_query' => array(
array(
'taxonomy' => 'タクソノミー', //タクソノミーを指定
'field' => 'slug', //ターム名をスラッグで指定する
'terms' => 'ターム', //表示したいタームをスラッグで指定
'operator' => 'IN'
),
)
));
global $post;
if($custom_posts): foreach($custom_posts as $post): setup_postdata($post); ?>
<!-- 記事 -->
<?php endforeach; wp_reset_postdata(); endif; ?>

 

taxonomy.phpの処理

表示ページの指定親タームの子カテゴリ記事一覧を表示

・taxonomy.phpで、親タームの子ターム毎に記事一覧を表示する。

<!-- タクソノミーページターム名を表示 -->
<?php single_term_title(); ?>


<?php
$taxonomyName = "タクソノミー";
$term_object = get_queried_object();
$args = array(
'parent' => 0,
'slug' => $term_object->slug
);
$terms = get_terms($taxonomyName,$args);
foreach ($terms as $term) {
$parentId = $term->term_id;
$childargs = array(
'parent' => $parentId,
'hide_empty' => true
);
$childterms = get_terms($taxonomyName,$childargs);
foreach ($childterms as $childterm) {
$targetSlug = $childterm->slug; ?>

<!-- 子ターム名 -->
<?php echo $childterm->name; ?>


<ul>
<!-- 記事ループ -->
<?php
$postargs = array(
'post_type' => 'カスタム投稿名',
'posts_per_page' => -1,
'tax_query' => array(
array(
'taxonomy' => $taxonomyName,
'field' => 'slug',
'terms' => $targetSlug
)
)
);
$postslist = get_posts( $postargs );
foreach ( $postslist as $post ) : setup_postdata( $post ); ?>

<!-- ループ内容 -->

<?php
endforeach;
echo "</ul>";
wp_reset_postdata();
}
}
?>

 

 

随時更新中!

コメント

タイトルとURLをコピーしました