
カテゴリ、アイキャッチ付きの投稿の一覧を表示する
という事例をご紹介しましたが、
今度はカスタム投稿の一覧の場合です。
・投稿へのリンクとタイトル
・タームごとに背景色を設定したタームタグ
・アイキャッチ画像
を1セットとして、最新順に一覧として表示する方法をご紹介します。
テーマのfunctions.phpに下記を記述します。
if ( ! function_exists( 'display_products' ) ){
function display_products() {
// カスタム投稿と分類名
$post_type = 'products'; //カスタム投稿名 productsとしています
$taxonomy = 'products_cat';
$posts_products = get_posts( array(
'post_type' => $post_type,
'post_status' => 'publish',
'posts_per_page' => 2,
'orderby' => 'desc'
) );
$html = '';
if ( $posts_products ) {
$html = '<ul>';
foreach ( $posts_products as $p ) {
setup_postdata( $p );
$terms = get_the_terms( $p->ID, $taxonomy );
$term_slug = $terms[0]->slug;
$term_name = $terms[0]->name;
$products_term_link = get_term_link( $term_slug, $taxonomy );
$time = get_post_time( 'Y年m月d日', false, $p->ID );
$products_image = get_the_post_thumbnail( $p->ID, "large" );
$html .= '<li>
<a href="' . get_the_permalink( $p->ID ) . '" >' . $products_image . '</a>
<a href="' . $products_term_link . '" class="products-tag bg-' . $term_slug . '">' . $term_name . '</a>
<span>' . $time . '</span><br>
<a href="' . get_the_permalink( $p->ID ) . '">' . get_the_title( $p->ID ) . '</a>
</li>';
}
$html .= '</ul>';
}
wp_reset_query();
return $html;
}
add_shortcode( 'display_products', 'display_products' );
}
あとはWordPressの投稿欄(投稿や固定ページ)でショートコード
display_products
を呼び出せば完成。([ ]で囲うこと)
現在あなたが利用されているWordPressテーマを活かしたまま、このページの事例を解決できるWordPressテーマを、子テーマとして購入できます。
この子テーマを有効化するだけで、現在お使いのデザインテーマにこの事例解決の機能が自動付与されます。
デザインが入っていないため、一般より格段に低い価格(事例の難易度により200円~1.3万円)です。
※ テーマは買い切りです
※ 自由に改変してお使いいただいて構いません
※ すでに子テーマでサイト運用されている方は、当該子テーマをマージしてください
WordPressカスタマイズ事例やウェブ制作ノウハウの新着情報、お役立ち情報を
リアルタイムにメルマガ配信!