本日、未明に『なにあいドットコム』にて写真集に撮影者情報を追加しました。
タグを使って、撮影者を登録しています。
クリックすると、撮影者の一覧が表示されます。
カスタム投稿でタグの一覧を表示する方法は、難しかったです。
テンプレートに以下のものを追加しました。
taxonomy-[カスタムタクソノミー名].php
私の場合は、functions.phpに以下のように作りました。
register_taxonomy( 'products-tag', 'products', array( 'hierarchical' => false, 'update_count_callback' => '_update_post_term_count', 'label' => '写真のタグ', 'singular_label' => '写真のタグ', 'public' => true, 'show_ui' => true ) );
よってテンプレートに付けた名前は、以下の通りです。
taxonomy-products-tag.php
このようにすることで、カスタム投稿でタグ表示するときにテンプレートを読んでくれます。
あとは、以下のように作りました。
<?php // カスタム投稿タイプ「products」 if (( get_post_type() == 'products')) : ?> <ul> <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; // カスタム投稿タイプ「news」、カスタムタクソノミー「member」、ターム「kawatama」、新着4件取得 query_posts( array( 'post_type' => 'products', 'taxonomy' => 'products-tag', 'term' => 'products-tag-list', 'posts_per_page' => 10, 'paged' => $paged, 'order' => 'DESC' ) ); if (have_posts()) :while (have_posts()) : the_post(); ?> <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <?php endwhile; endif; wp_reset_query(); ?> </ul> <?php endif; ?> <div> <?php if(is_category()){ single_cat_title();echo "<h1>の写真一覧</h1>"; }else{ if(is_tag('products')){ single_cat_title();echo "<h1>の写真一覧</h1>"; }else{ echo "<h1>"; echo get_the_term_list( $post->ID,'products-tag','',',','' ); echo "の写真一覧</h1>"; } } ?> <p>みんなで彩る写真集です。oideyo@naniai.comまで送付するか七二会支所まで直接画像をお持ちください。</p> <?php if (have_posts()): while(have_posts()) : the_post(); ?> <div class="photo72"> <h2> <?php if(empty($post->post_content)){ the_title(); } else{ ?><a href="<?php the_permalink() ?>"><?php the_title(); ?></a> <?php } ?> </h2> <p style="text-align:right"><?php the_time('Y.m.d') ?></p> <p><?php the_excerpt(); ?></p> <?php echo get_the_term_list( $post->ID,'products-tag','タグ: ',',','' ); ?><br> <?php if(empty($post->post_content)){ ?> <div class="tags72"> | <?php the_tags(); ?></div> <?php the_post_thumbnail(array(800,533),array( 'alt' =>get_the_title(), 'title' => get_the_title())); } else{ ?><div class="tags72"> | <?php the_tags(); ?></div><a href="<?php the_permalink() ?>"><?php the_post_thumbnail(array(800,533),array( 'alt' =>get_the_title(), 'title' => get_the_title())); ?></a> <?php } ?> <br><div class="fb-like" data-href="<?php the_permalink() ?>" data-layout="button_count" data-action="like" data-show-faces="true" data-share="true"></div> </div> <?php endwhile; ?> <?php endif ?> </div> </div> <?php else: ?> <?php if (have_posts()): while(have_posts()) : the_post(); ?> <h1><?php the_title(); ?></h1> 投稿日:<?php the_time('Y.m.d') ?> <div class="category72">カテゴリ:<?php the_category(', '); ?></div><div class="tags72"> | <?php the_tags(); ?></div> <?php the_content(); ?> 投稿日:<?php the_time('Y.m.d') ?> カテゴリ:<?php the_category(', '); ?> <?php the_tags(); ?> <?php endwhile; ?> <?php endif ?> <?php endif ?>
まとめ:カスタム投稿のカスタマイズは、難しいけど楽しい
本日は、6時間ほどかけて解決しました。
プログラミングは、楽しいですね!
マイクロソフト認定トレーナー。『自己紹介』