WordPressのループ文ネタ、またまた続きました!
今回はプラグイン「Advanced Custom Fields」を利用して、
カテゴリーやタグに関係しない
任意の投稿だけを選別する方法です。
meta_queryのarray ( 配列 ) 文で’key’を使えば簡単に実装できるので、覚えておくと役に立つことがあるかも!
目次
カスタムフィールドって?
WPでよく使われているカスタムフィールド系プラグインといえば、
・Advanced Custom Fields
・カスタムフィールドテンプレート
があります!
使い方については省略させていただきますが(ごめんなさい!)、今回はAdvanced Custom Fieldsを使いました。
選別用のチェックボックスを用意する
通常のループ表現(ノーマル投稿)
<?php query_posts( array(
'post_type' => 'menu', //カスタム投稿名
'taxonomy' => 'menu_category', //タクソノミータイプ
'posts_per_page' => -1, //表示件数( -1は全投稿表示 )
)); ?>
<?php if(have_posts()): ?>
<?php while(have_posts()):the_post(); ?>
<!-- ここにループ投稿内容 -->
<?php endwhile; else: ?>
<?php endif; ?>
<?php wp_reset_query(); ?>
カスタムフィールドで選別したループ表現(ノーマル投稿)
<ul>
<?php $args = array (
'post_type' => 'post', //投稿名
'taxonomy' => 'category', //タクソノミータイプ
'posts_per_page' => -1, //表示件数( -1 = 全件 )
'meta_query' => array(
array(
'key' => 'choice',
'value' => 'yes',
'compare'=>'LIKE'
),
)
);
$myposts = get_posts( $args );
foreach( $myposts as $post ):
setup_postdata($post);
?>
<!--ここにループする記事内容-->
<li><?php the_title(); ?></li>
<?php
endforeach;
wp_reset_postdata();
?>
</ul>
カスタムフィールドで選別したループ表現(カスタム投稿)
<ul>
<?php $args = array (
'post_type' => 'menu', //カスタム投稿名
'taxonomy' => 'menu_category', //タクソノミータイプ
'posts_per_page' => -1, // 取得する投稿数
'meta_query' => array(
array(
'key' => 'choice',
'value' => 'yes',
'compare'=>'LIKE'
),
)
);
$myposts = get_posts( $args );
foreach( $myposts as $post ):
setup_postdata($post);
?>
<li><?php the_title(); ?></li>
<?php
endforeach;
wp_reset_postdata();
?>
</ul>