gooodmark

goodなWebサイトを厳選ブックマーク!デザインやディレクションの参考にどうぞ。

724bookmark

WordPressの基本コード⑤(カスタム投稿・タクソノミー編)

投稿

カスタム投稿ラベル

<?php echo esc_html(get_post_type_object(get_post_type())->label ); ?>

ターム名(リンクなし)


<?php
$tarms = get_the_terms($post -> ID ,'タクソノミー名');
foreach ($tarms as $tarm) {
$tarm_name = $tarm -> name;
} ?>
<?php echo esc_html($tarm_name); ?>

タームスラッグ


<?php
$tarms = get_the_terms($post -> ID ,'タクソノミー名');
foreach ($tarms as $tarm) {
$tarm_slug = $tarm -> slug;
} ?>
<?php echo esc_html($tarm_slug); ?>

タームリスト(リンクあり)

<?php echo get_the_terms($post->ID, 'タクソノミー名' ); ?>
<?php echo get_the_term_list($post->ID, 'タクソノミー名', '<li>','','</li>'); ?>

タームリスト(リンクあり・投稿数)


<?php
$args = array('hide_empty'=> 0);
$terms = get_terms('タクソノミー名', $args);
foreach($terms as $term) {
echo '<li><a href="' . get_term_link( $term ) . '">' . $term->name . '(' .$term->count .')</a></li>' ."n";
} ?>

タームリスト(リンクあり・投稿数・投稿記事数順に5件表示)


<?php
$args = array(
'orderby' => 'count',
'order' => 'DESC',
'number' => '5'
);
$terms = get_terms('タクソノミー名', $args);
foreach ($terms as $term ) {
$des_list .= '<li class="'. $term-> slug .'">';
$des_list .= '<a href="' . get_term_link( $term ) . '">'. $term->name . '(' .$term->count .')</a></li>
';}
echo $des_list; ?>

類似記事

同タームの記事を表示


<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$terms = get_terms('タクソノミー名',array('fields'=>'ids'));
query_posts( array(
'posts_per_page' => 20,
'paged' => $paged,
'order' => 'DESC',
'tax_query' => array(array(
'taxonomy' => 'タクソノミー名',
'field' => 'id',
'terms' => $terms,
'operator' => 'IN'
)),
)); ?>

条件分岐

カスタム投稿:「hoge」

<?php if ((get_post_type() == 'hoge')): ?>
カスタム投稿「hoge」の場合
<?php endif; ?>

カスタム投稿:「hoge」「hogehoge」

<?php if (in_array(get_post_type(), array('hoge', 'hogehoge'))) { ?>
カスタム投稿「hoge」「hogehoge」の場合
<?php } ?>

カスタム投稿:アーカイブ&投稿

<?php if (is_post_type_archive('hoge') || is_singular('hoge')) {?>
カスタム投稿「hoge」のアーカイブ・投稿ページの場合
<?php } ?>

カスタムタクソノミー


<?php if (is_object_in_term($post->ID, 'hoge','hogehoge')){ ?>
カスタムタクソノミー「hoge」のターム「hogehoge」の場合
<?php } ?>