ここでは、get_posts関数を使ったいろいろなサブループの作り方をまとめてみます。それぞれのコードの仕組みついては各記事をご参照ください。
投稿でカテゴリを指定したサブループ
PHP
$cat_posts = get_posts( array ( |
'category_name' => 'スラッグ' , |
if ( $cat_posts ): foreach ( $cat_posts as $post ): setup_postdata( $post ); ?> |
<h3><a href= "<?php the_permalink() ?>" ><?php the_title(); ?></a></h3> |
<p><?php the_category( ', ' ) ?></p> |
<p><?php the_time( 'Y/m/d' ) ?></p> |
<p><?php the_excerpt(); ?></p> |
<?php endforeach ; endif ; wp_reset_postdata(); ?> |
2018.08.07トップページなどに、特定のカテゴリやタグの記事一覧を表示させたいときってありますよね。ここでは、投稿ページのカテゴリやタグを指定して記事を一覧表示させる方法(いわゆるサブループ)についてお話します。
カテゴリを指定した記事一覧コード
はじめに結論を...
投稿でタグを指定したサブループ
PHP
$tag_posts = get_posts( array ( |
if ( $tag_posts ): foreach ( $tag_posts as $post ): setup_postdata( $post ); ?> |
<h3><a href= "<?php the_permalink() ?>" ><?php the_title(); ?></a></h3> |
<?php the_tags( '<p>' , ', ' , '</p>' ); ?> |
<p><?php the_time( 'Y/m/d' ) ?></p> |
<p><?php the_excerpt(); ?></p> |
<?php endforeach ; endif ; wp_reset_postdata(); ?> |
2018.08.07トップページなどに、特定のカテゴリやタグの記事一覧を表示させたいときってありますよね。ここでは、投稿ページのカテゴリやタグを指定して記事を一覧表示させる方法(いわゆるサブループ)についてお話します。
カテゴリを指定した記事一覧コード
はじめに結論を...
投稿でカテゴリとタグを組み合わせて指定したサブループ
PHP
$my_posts = get_posts( array ( |
'category_name' => 'スラッグ' , |
if ( $my_posts ): foreach ( $my_posts as $post ): setup_postdata( $post ); ?> |
<h3><a href= "<?php the_permalink() ?>" ><?php the_title(); ?></a></h3> |
<p><?php the_time( 'Y/m/d' ) ?></p> |
<p><?php the_excerpt(); ?></p> |
<?php endforeach ; endif ; wp_reset_postdata(); ?> |
2018.08.07トップページなどに、特定のカテゴリやタグの記事一覧を表示させたいときってありますよね。ここでは、投稿ページのカテゴリやタグを指定して記事を一覧表示させる方法(いわゆるサブループ)についてお話します。
カテゴリを指定した記事一覧コード
はじめに結論を...
表示中の投稿カテゴリ記事を一覧表示させるサブループ
PHP
$cat = get_the_category( $post_id ); |
$cat_id = $cat [0]->cat_ID; |
$cat_posts = get_posts( array ( |
$count = count ( $cat_posts ); |
if ( $count >=1): foreach ( $cat_posts as $post ): setup_postdata( $post ); ?> |
<h3><a href= "<?php the_permalink() ?>" ><?php the_title(); ?></a></h3> |
<p><?php the_category( ', ' ) ?></p> |
<p><?php the_time( 'Y/m/d' ) ?></p> |
<p><?php the_excerpt(); ?></p> |
<?php endforeach ; wp_reset_postdata(); else : ?> |
2018.08.10ここでは、個別投稿ページ(single.php)で現在、表示させている記事のカテゴリやタグの記事一覧を自動で表示させるサブループの作り方について見ていきます。
表示中の投稿のカテゴリ記事を一覧表示させるコード
それでは早速コードを見てみましょう。
...
表示中の投稿タグを記事一覧表示させるサブループ
PHP
$tag = get_the_tags( $post_id ); |
$tag_id = $tag [0]->term_id; |
$tag_posts = get_posts( array ( |
$count = count ( $tag_posts ); |
if ( $count >=1): foreach ( $tag_posts as $post ): setup_postdata( $post );?> |
<h3><a href= "<?php the_permalink() ?>" ><?php the_title(); ?></a></h3> |
<?php the_tags( '<p>' , ', ' , '</p>' ); ?> |
<p><?php the_time( 'Y/m/d' ) ?></p> |
<p><?php the_excerpt(); ?></p> |
<?php endforeach ; wp_reset_postdata(); else : ?> |
2018.08.10ここでは、個別投稿ページ(single.php)で現在、表示させている記事のカテゴリやタグの記事一覧を自動で表示させるサブループの作り方について見ていきます。
表示中の投稿のカテゴリ記事を一覧表示させるコード
それでは早速コードを見てみましょう。
...
カスタム投稿タイプで指定したタームのサブループ
PHP
$custom_posts = get_posts( array ( |
'post_type' => 'カスタム投稿タイプスラッグ' , |
'taxonomy' => 'タクソノミースラッグ' , |
if ( $custom_posts ): foreach ( $custom_posts as $post ): setup_postdata( $post ); ?> |
<h3><a href= "<?php the_permalink() ?>" ><?php the_title(); ?></a></h3> |
<p><?php the_time( 'Y/m/d' ) ?></p> |
<p><?php the_excerpt(); ?></p> |
<?php endforeach ; wp_reset_postdata(); endif ; ?> |
2018.08.11ここではカスタム投稿タイプで指定したタームの記事一覧を表示させるサブループの作り方について見ていきます。
指定したタームの記事一覧を表示させる方法
PHP
[php]
<?php
$custom_posts = get_posts(ar...
カスタム投稿タイプで複数のタクソノミーからタームを指定したサブループ
PHP
$custom_posts = get_posts( array ( |
'post_type' => 'カスタム投稿タイプスラッグ' , |
'taxonomy' => 'タクソノミースラッグ1' , |
'terms' => array ( 'スラッグ1' , 'スラッグ2' ), |
'taxonomy' => 'タクソノミースラッグ2' , |
'terms' => array ( 'スラッグ3' , 'スラッグ4' ), |
if ( $custom_posts ): foreach ( $custom_posts as $post ): setup_postdata( $post ); ?> |
<h3><a href= "<?php the_permalink() ?>" ><?php the_title(); ?></a></h3> |
<p><?php the_time( 'Y/m/d' ) ?></p> |
<p><?php the_excerpt(); ?></p> |
<?php endforeach ; wp_reset_postdata(); endif ; ?> |
2018.08.11ここではカスタム投稿タイプで指定したタームの記事一覧を表示させるサブループの作り方について見ていきます。
指定したタームの記事一覧を表示させる方法
PHP
[php]
<?php
$custom_posts = get_posts(ar...
表示中のカスタム投稿タイプのタームの記事一覧を表示させるサブループ
PHP
$post_type = get_post_type(); |
$taxonomy = 'タクソノミースラッグ' ; |
$term = get_the_terms( $post_id , $taxonomy ); |
$term_slug = $term [0]->slug; |
$custom_posts = get_posts( array ( |
'post_type' => $post_type , |
$count = count ( $custom_posts ); |
if ( $count >=1): foreach ( $custom_posts as $post ): setup_postdata( $post ); ?> |
<h3><a href= "<?php the_permalink() ?>" ><?php the_title(); ?></a></h3> |
<p><?php the_time( 'Y/m/d' ) ?></p> |
<p><?php the_excerpt(); ?></p> |
<?php endforeach ; wp_reset_postdata(); else : ?> |
2018.08.13ここでは、カスタム投稿タイプの個別投稿を表示させたときに、そのページと同じタームの記事一覧を自動表示させる方法について見ていきます。
カスタム投稿タイプのターム記事一覧を自動表示させるコード
PHP
[php]
<?php
global...
表示中のカスタム投稿タイプで複数のタクソノミーからタームを絞り込み記事一覧させるサブループ
PHP
$post_type = get_post_type(); |
$taxonomy01 = 'タクソノミースラッグ1' ; |
$term01 = get_the_terms( $post_id , $taxonomy01 ); |
$term_slug01 = $term01 [0]->slug; |
$taxonomy02 = 'タクソノミースラッグ2' ; |
$term02 = get_the_terms( $post_id , $taxonomy02 ); |
$term_slug02 = $term02 [0]->slug; |
$custom_posts = get_posts( array ( |
'post_type' => $post_type , |
'taxonomy' => $taxonomy01 , |
'taxonomy' => $taxonomy02 , |
$count = count ( $custom_posts ); |
if ( $count >=1): foreach ( $custom_posts as $post ): setup_postdata( $post ); ?> |
<h3><a href= "<?php the_permalink() ?>" ><?php the_title(); ?></a></h3> |
<p><?php the_time( 'Y/m/d' ) ?></p> |
<p><?php the_excerpt(); ?></p> |
<?php endforeach ; wp_reset_postdata(); else : ?> |
2018.08.13ここでは、カスタム投稿タイプの個別投稿を表示させたときに、そのページと同じタームの記事一覧を自動表示させる方法について見ていきます。
カスタム投稿タイプのターム記事一覧を自動表示させるコード
PHP
[php]
<?php
global...
表示中の投稿のカスタムフィールド値を1つ指定したサブループ
PHP
$value = post_custom( $field_name ); |
$my_posts = get_posts( array ( |
'meta_key' => $field_name , |
$count = count ( $my_posts ); |
if ( $count >=1): foreach ( $my_posts as $post ): setup_postdata( $post ); ?> |
<h3><a href= "<?php the_permalink() ?>" ><?php the_title(); ?></a></h3> |
<p><?php the_category( ', ' ) ?></p> |
<p><?php the_time( 'Y/m/d' ) ?></p> |
<p><?php the_excerpt(); ?></p> |
<?php endforeach ; wp_reset_postdata(); else : ?> |
2018.08.19ここでは、投稿で記事一覧を表示させるサブループにカスタムフィールドの値を条件として指定する方法について見ていきます。
カスタムフィールドの作り方を知らない方は、はじめにこちらをご覧ください。
結論から言うと、get_posts()の配列の中に下...
表示中の投稿のカスタムフィールド値を複数指定したサブループ
PHP
$value01 = post_custom( $key01 ); |
$value02 = post_custom( $key02 ); |
$my_posts = get_posts( array ( |
$count = count ( $my_posts ); |
if ( $count >=1): foreach ( $my_posts as $post ): setup_postdata( $post ); ?> |
<h3><a href= "<?php the_permalink() ?>" ><?php the_title(); ?></a></h3> |
<p><?php the_category( ', ' ) ?></p> |
<p><?php the_time( 'Y/m/d' ) ?></p> |
<p><?php the_excerpt(); ?></p> |
<?php endforeach ; wp_reset_postdata(); else : ?> |
2018.08.19ここでは、投稿で記事一覧を表示させるサブループにカスタムフィールドの値を条件として指定する方法について見ていきます。
カスタムフィールドの作り方を知らない方は、はじめにこちらをご覧ください。
結論から言うと、get_posts()の配列の中に下...
カスタム投稿タイプをカスタムフィールドの値で並び替えさせるサブループ
PHP
$custom_posts = get_posts( array ( |
'post_type' => 'カスタム投稿タイプスラッグ' , |
'meta_key' => 'カスタムフィールドのキー' , |
'orderby' => 'meta_value' , |
if ( $custom_posts ): foreach ( $custom_posts as $post ): setup_postdata( $post ); ?> |
<h3><a href= "<?php the_permalink() ?>" ><?php the_title(); ?></a></h3> |
<p><?php the_time( 'Y/m/d' ) ?></p> |
<p><?php the_excerpt(); ?></p> |
<?php endforeach ; wp_reset_postdata(); endif ; ?> |
2019.07.21カスタム投稿タイプをカスタムフィールドの値で並び替えさせるサブループ
とあるクライアントさんからカスタム投稿タイプを特殊な順番で並び替えたいと言われました。そこで、カスタムフィールドに値を入れてそれを並び替えの基準にしようというのが今回の趣旨です。
...
以上がget_postsを使用したサブループの作り方まとめでした。