アドセンス
<?php
if ( have_posts () ) :
$loop_count = '' ;
//$ransuu = rand(1, 5);
$koukoku_no = array(4,8,12) ;
while ( have_posts() ) :
the_post();
$loop_count++;
?>
<!----/宣言----->
<?php include("d_roop_box.php"); ?>
<!----閉じループタグ----->
<?php if ( $loop_count == $koukoku_no[0] || $loop_count == $koukoku_no[1] || $loop_count == $koukoku_no[2] ) :?>
<?php include("ad_kiji_naka.php"); ?>
<?php endif; ?>
<?php
endwhile;
endif;
?>
フォーチ
<!--アドバンスカスタム ループフィールド-------->
<div class="flickThumb">
<ul>
<?php
if($post->sekou_gallery2): //URLがあれば
$fields = get_field('sekou_gallery2');
foreach ($fields as $field) :
?>
<?php
$title= get_the_title();
$attachment_id = $field['id'];
?>
<li><a href="#" onClick="return false;">
<?php
$car_photo = wp_get_attachment_image($attachment_id,'BLOG249_176',0,array('alt'=>$title.'|'.$head_rogo_under,'title'=>$title.'|'.$head_rogo_under));
echo $car_photo;
?>
</a></li>
<?php
endforeach;
endif;
?>
</ul>
</div><!--/.flickThumb-->
<!--フォーチ回数指定-------->
<?php
$i = 0;
$kiji = 1;//この回数でフォーチ終わる。
$fields = get_field('sekou_gallery2');
foreach ($fields as $field) :
if($i >= $kiji)://siが3よりおおきくなったら
break;//ループおわり
else://それまではこれで出力
?>
表示領域
<?php
$i++;//繰り返すごとに$iに数値が1つづ増える
endif;
endforeach;
?>
記事ループ基本
<!--基本-->
<?php
if ( have_posts () ) :
while ( have_posts() ) :
the_post();
?>
内容
<?php
endwhile;
else:?>
<div style="font-size:12px; color:#CCC; padding-top:10px;">※記事はまだありません。</div>
<?php
endif;
?>
<div style="padding-top:30px; padding-left:0px;">
<?php if(function_exists('wp_pagenavi')) : wp_pagenavi(); endif; //ページナビ ?>
</div>
クエリポスト
<!--ページ送りある場合は クエリポストで -->
<!--★★★クエリポスト種類-->
<!--$query_stringは例えば、カテゴリアーカイブページの場合、現状のカテゴリアーカイブページの条件を残す設定-->
<?php query_posts($query_string . "&orderby=menu_order&order=ASC"); //順序小さい順?>
<?php query_posts($query_string . "&posts_per_page=20&orderby=menu_order&order=ASC"); //順序小さい順ページ数指定?>
<?php query_posts("cat=123"); ?>
<!--配列では$query_stringは使えない-->
<!-- 's' => $s とあったが本当か? https://www.it-swarm-ja.tech/ja/query-posts/queryposts-querystring/961913587/-->
<!--
順序→ 投稿日 これで 出来たっけ?
'orderby' => array('menu_order'=> 'DESC','date'=> 'DESC'),
-->
<?php
$args = array(
'posts_per_page' => 10,
'paged' => $paged,
'orderby' => 'menu_order',
'order' => 'ASC',
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'event',
'field' => 'slug',
'terms' => array( 'トップ用', '予備' ),
//'operator'=>'NOT IN'
),
),
'post_type' => 'venere_event', //カスタム投稿名
);
query_posts( $args );
?>
ループへ続く
<!--ページナビプラグインの後-->
<!---クエリポスト用リセットクエリ---->
<?php wp_reset_query(); ?>
ゲットポスト
!--基本はゲットポストで-->
<!--
なんだかページ送りが上手く簡単にいかなかったので
ページ送りある場合は クエリポストで↑
-->
<?php
$args = array(
'posts_per_page' => 3,
'cat' => 337,
);
$myposts = get_posts( $args );
if(! $myposts){ echo '<div style="margin-left:20px;">記事はまだありません。</div>';}
foreach ( $myposts as $post ) : setup_postdata( $post ); ?>
内容
<?php endforeach;
wp_reset_postdata();?>
クエリ
<!------------------------------------------------------------------------------------>
<!------------メタキーでソート--- メタクエリ空なし&5年以内---ゲットポスト
-----ページ送りむずかしい サブループで仕様可能------>
<?php
$d_today = date("Ymd");//今日を取得して
$d_5years = $d_today - 50000;//5年と00ヶ月00日を引くと5年前の日付を取得できる。
$args = array(
'posts_per_page' => 3,
'post_type' => 'shop', //カスタム投稿名
'meta_key'=>'open_day',
'orderby' => 'meta_value_num',
'order' => 'DESC',
'meta_query' => array( //メタクエリ //カスタムフィールドによる絞り込み
array(
'key' => 'open_day',//カスタムフィールド オープン日
'value' => '',//空のやつは
'compare'=>'NOT IN'//含めん
),
array(
'key' => 'open_day', //カスタムフィールド名 オープン日
'value' > $d_5years, //5年以内のやつを 含める (数値大きいと5年以内)
),
),
);
?>
<?php
$myposts = get_posts( $args );
foreach ( $myposts as $post ) : setup_postdata( $post ); ?>
<?php include("d_roop_box.php"); ?>
<?php endforeach;
wp_reset_postdata();?>
<!---------------------------------------taxクエリ--------------------------------------------->
くわしく http://elearn.jp/wpman/column/c20110908_01.html
例 'news'または'topics'カテゴリーに属し、'service'および'price-down'という投稿タグが付いた投稿記事を絞り込む場合
<?php
$args = array(
'tax_query' => array(
array(
'taxonomy'=>'category',
'terms'=>array( 'news', 'topics' ),
'field'=>'slug',
'include_children'=>true,
'operator'=>'IN', //termsで指定した値が配列の場合いずれかの要素に一致
),
array(
'taxonomy'=>'post_tag',
'terms'=>array( 'service', 'price-down' ),
'field'=>'slug',
'operator'=>'AND', //termsで指定した値が配列の場合すべての要素に一致
//'operator'=>'NOT IN', //termsで指定した値(配列の場合はすべての要素)に一致しない
),
'relation' => 'AND', //すべての条件に一致
//'relation' => 'OR', //いずれかの条件に一致
)
)
?>
<!---------------------------------------metaクエリ-------------------------------------->
くわしく http://www.memo.d-marking.com/blog/2014/10/25/%e3%82%af%e3%82%a8%e3%83%aa%e3%83%bc%e3%83%9d%e3%82%b9%e3%83%88%e3%81%be%e3%81%a8%e3%82%81url%e7%ad%89/
カスタムフィールド「hoge」に「fuga」という文字列を含み
「foo」の値が「bar」を持たない記事を表示
<?php
$args = array(
"meta_query" => array(
array(
"key" => "hoge",
"value" => "fuga",
"compare" => "LIKE"
),
array(
"key" => "foo",
"value" => "bar",
"compare" => "NOT IN"
)
)
)
// compareの 可能な値は、 '=', '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN', 'EXISTS' (WP >= 3.5でのみ), 'NOT EXISTS' (WP >= 3.5でのみ). 値 'REGEXP'、'NOT REGEXP'、 'RLIKE' は WordPress 3.7で追加されました。 デフォルト値は '=' 。
?>
<!--------------------------------------------dateクエリ----------------------------------------->
くわしく http://www.memo.d-marking.com/?p=1409
くわしく http://elearn.jp/wpman/column/c20131030_01.html
使用目的はソールドアウトに変更更新した記事を
30日間はループに表示させるが30日以降は表示させない
という設定で仕様予定
//投稿日が一年以上前で、一ヶ月以内に更新された記事を取得
<?php
$args = array(
'date_query' => array(
array(
'column' => 'post_date_gmt',
'before' => '1 year ago',
),
array(
'column' => 'post_modified_gmt',
'after' => '1 month ago',
),
),
'posts_per_page' => -1,
);
$query = new WP_Query( $args );
//or でループさせる
query_posts( $args );
?>
stingイベントTOP カスタムフィールドの日付 と今日で比較して、今日より未来のもののみ表示
<?php
$meta_value = date("Ymd");
// echo "<pre>";
// print_r($meta_value);
// echo "</pre>";
$args = array(
'post_type' => 'event_info', //カスタム投稿名
'posts_per_page' => 6,
'meta_query' => array( //メタクエリ //カスタムフィールドによる絞り込み
array(
'key' => 'event_day',//カスタムフィールド オープン日
'value' => $meta_value,
'compare'=>'>=',//含めん
'type' => 'DATE' //日付の比較
)
)
);
$myposts = get_posts( $args );
if(! $myposts){ echo '<div style="margin-left:20px;">記事はまだありません。</div>';}
foreach ( $myposts as $post ) : setup_postdata( $post ); ?>
<?php include(get_stylesheet_directory() . "/event_roop.php"); ?>
<?php endforeach;
wp_reset_postdata();?>
new WP_Query
くわしく
https://wemo.tech/160
https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/WP_Query
複数の並び替えを実現したい場合、new WP_Queryでも できるようだ、ふくざつな項目がたくさんあるぞ
<?php
//$argsのプロパティを変えていく
$args = array(
'post_type' => 'post',
'posts_per_page' => -1,
'no_found_rows' => true, //ページャーを使う時はfalseに。
);
$the_query = new WP_Query($args);
if ($the_query->have_posts()) :
while ($the_query->have_posts()) : $the_query->the_post();
/* ループ内の記述 */
endwhile;
endif;
wp_reset_postdata();
?>
イズメインクエリ
<?php
//fanctionで アーカイブに投稿を制御させる方法
function SortArchive( $query ) {
//管理画面スルー
if ( is_admin() || ! $query->is_main_query() )
return;
//こっから
if ( $query->is_category() || $query->is_archive() || $query->is_tax() || $query->is_search() ) {
$query->set( 'meta_key', 'item_sta' );
$query->set( 'orderby', array( 'meta_value' => 'DESC', 'date' => 'DESC' ) );//並び替えの2つの条件 メタキーで並べ 同じメタキーは古い投稿順
return; //これいる??
}
}
add_action( 'pre_get_posts', 'SortArchive' );
?>