WordPress Snippet

ワードプレスをカスタマイズしよう

特定のカスタムフィールドを持つ投稿の表示

特定のカスタムフィールドのある投稿を指定した件数ランダムに表示する

以下のスニペットは、カスタムフィールド「photo」を持つ、投稿10件を表示する。

<?php
$i = 0;
/* 表示件数の指定*/
$max = 10;
/* カスタムフィールドの名称*/
$custom_field_name= 'photo';
$args = array('meta_key'=> $custom_field_name 		 //カスタムフィールドの名称
				, 'post_type'=> 'post'		//投稿を
				, 'post_status'=> 'public'	//公開しているものから
				, 'orderby'=> 'rand' 		//ランダムに
				, 'nopaging'=> true 		//ページングをしないで、
				, 'post__not_in'=> get_option( 'sticky_posts' )
					//stickyは、除外して
					//抽出してね
				);
query_posts($args);
	if( have_posts() ){
		while(have_posts()){
			the_post();
			the_title('<p>','</p>');
			$i++;
			/* 必要な件数確保したら、ループを抜ける*/
			if( $i > $max ){ break; }
		}
	}
	/* 足りない時のダミー*/
	if( $i < $max ){
		for ( $i; $i < $max; $i++ ){
			echo '<p>none</p>';
		}
	}
wp_reset_query(); ?>

[emulsion_relate_posts]