WordPressのループ文ネタ続きました!
今回はノーマル投稿とカスタム投稿を合わせてループ文として表示する方法です。
array ( 配列 ) 文を使えば簡単に実装できるので、覚えておくと役に立つことがあるかも!
目次
通常のループ表現(これはカスタム投稿)
<?php query_posts( array(
'post_type' => 'menu', //カスタム投稿名
'taxonomy' => 'menu_category', //タクソノミータイプ
'posts_per_page' => 6, //表示件数( -1は全投稿表示 )
)); ?>
<?php if(have_posts()): ?>
<?php while(have_posts()):the_post(); ?>
<!-- ここにループ投稿内容 -->
<?php endwhile; else: ?>
<?php endif; ?>
<?php wp_reset_query(); ?>
ノーマル投稿とカスタム投稿を合わせたループ
<?php query_posts( array(
'post_type' => array('menu', 'post'), //投稿名
'taxonomy' => array('menu_category', 'category'), //タクソノミータイプ
'posts_per_page' => 6, //表示件数( -1は全投稿表示 )
)); ?>
<?php if(have_posts()): ?>
<?php while(have_posts()):the_post(); ?>
<!-- ここにループ投稿内容 -->
<?php endwhile; else: ?>
<?php endif; ?>
<?php wp_reset_query(); ?>
合算ループ+定型文を表示させる
<ul>
<?php query_posts( array(
'post_type' => array('menu', 'post'), //投稿名
'taxonomy' => array('menu_category', 'category'), //タクソノミータイプ
'posts_per_page' => 6, //表示件数( -1は全投稿表示 )
)); ?>
<?php if(have_posts()): ?>
<?php while(have_posts()):the_post(); ?>
<li>
<?php
$cp_slug = esc_html(get_post_type_object(get_post_type())->name);
if($cp_slug=='menu'){
echo '<span>メニューを更新しました。</span>';
}
?>
<?php
$terms = wp_get_object_terms($id, 'category');
if ($terms) {
foreach ($terms as $term) {
echo '<span>'.$term->name.'を更新しました。</span>' ;}
};
?>
</li>
<?php endwhile; else: ?>
<?php endif; ?>
<?php wp_reset_query(); ?>
</ul>