query_postsを使って記事一覧を作成する際、登録したターム名「riru」を除外して「Kaito」だけの記事一覧を作りたい場合の抽出条件はこちら。
カスタム投稿タイプ名:ebicohouse
タクソノミー名:cat
登録ターム名:「kaito」「riru」
記事表示最大件数は20件でオーバー分はwp_pagenaviでページング。
function getEBICOHouse($atts, $content = null) {
global $post;
$oldpost = $post;
$myposts = query_posts(
array(
'posts_per_page' => '20',
'post_type' => array( 'ebicohouse' ) ,
'order'=>'DESC',
'orderby'=>'post_date',
'tax_query' => array(
array(
'taxonomy' => 'cat',//タクソノミーcatの
'field' => 'slug',
'terms' => 'riru', //ターム名riruを
'operator' => 'NOT IN',//除外!
),
),
'paged' => $paged
) );
if(have_posts()):
while ( have_posts() ) : the_post();
$retHtml='<dl>';
foreach($myposts as $post) :
setup_postdata($post);
$retHtml.='<dt>'.get_post_time('Y/m/d').'</dt>';
$retHtml.='<dd><a href="'.get_permalink().'">'.the_title("","",false).'</a> ';
$days=14;$today=date('U'); $entry=get_the_time('U');$diff1=date('U',($today - $entry))/86400;
if ($days > $diff1) {
$retHtml.= "\n" . '<span class="red">New!</span>' . "\n";}
$retHtml.='</dd>';
endforeach;
$retHtml.='</dl>';
if(function_exists('wp_pagenavi')) {
ob_start();
wp_pagenavi();
$retHtml.= ob_get_clean();
}
wp_reset_query();
$post = $oldpost;
return $retHtml;
endwhile;
endif;
}
add_shortcode("ebicokaito", "getEBICOHouse");
コメントを残す