taxonomy.phpの中でよく使うWordPressのコード
見出しとしてターム名を表示
<h2><?php echo get_queried_object()->name; ?></h2>
現在のタームの説明を表示
<?php echo term_description(); ?>
ターム一覧を表示
・ターム一覧=タイトルなし(title_li=)、タクソノミー名は「info-encat」
<ul>
<?php wp_list_categories('title_li=&taxonomy=info-encat'); ?>
</ul>
・件数表示あり(show_count=1)、タクソノミー名は 「info-encat」
<ul class="archive-list">
<?php wp_list_categories('title_li=&show_count=1&taxonomy=info-encat'); ?>
</ul>
・一部のタームのみ表示(include=「ID1」,「ID2」)、タクソノミー名は 「info-encat」
<?php wp_list_categories('title_li&include=1,7&taxonomy=info-encat'); ?>
・一部のタームを非表示(exclude=「ID1」,「ID2」)、タクソノミー名は 「info-encat」
<?php wp_list_categories('title_li&exclude=3,15&taxonomy=info-encat'); ?>
「カスタム投稿」記事一覧をページネーション付きで表示(プラグイン使用)
※この例では、ページネーションを出力するプラグイン「WP-PageNavi」を使用しています。
※ターム一覧のコードでは、タクソノミー名を 「info-encat」と指定しています。
<?php if(have_posts()): ?>
<div class="article-list">
<?php while(have_posts()): the_post(); ?>
<article>
<a href="<?php the_permalink(); ?>">
<figure class="img-block">
<?php if(has_post_thumbnail()): ?>
<?php the_post_thumbnail('thumbnail'); ?>
<?php else: ?>
<img src="<?php echo get_stylesheet_directory_uri()?>/img/comingsoon.jpg" alt="comingsoon">
<?php endif; ?>
</figure>
<div class="txt-block">
<time datetime="<?php the_time('Y-m-d'); ?>" class="date"><?php the_time(get_option('date_format')); ?></time>
<h3><?php the_title(); ?></h3>
<?php $terms = get_the_terms($post->ID, 'info-encat');?>
<ul class="post-tax">
<?php foreach($terms as $term): ?>
<li><?php echo $term->name; ?></li>
<?php endforeach; ?>
</ul>
</div>
</a>
</article>
<?php endwhile;?>
</div>
<?php else: ?>
<p>記事はありません。</p>
<?php endif; ?>
<?php wp_pagenavi(); ?>
「カスタム投稿」記事一覧をページネーション付きで表示(プラグイン無し)
※ターム一覧のコードでは、タクソノミー名を 「info-encat」と指定しています。
<?php if(have_posts()): ?>
<div class="article-list">
<?php while(have_posts()): the_post(); ?>
<article>
<a href="<?php the_permalink(); ?>">
<figure class="img-block">
<?php if(has_post_thumbnail()): ?>
<?php the_post_thumbnail('thumbnail'); ?>
<?php else: ?>
<img src="<?php echo get_stylesheet_directory_uri()?>/img/comingsoon.jpg" alt="comingsoon">
<?php endif; ?>
</figure>
<div class="txt-block">
<time datetime="<?php the_time('Y-m-d'); ?>" class="date"><?php the_time(get_option('date_format')); ?></time>
<h3><?php the_title(); ?></h3>
<?php $terms = get_the_terms($post->ID, 'info-encat');?>
<ul class="post-tax">
<?php foreach($terms as $term): ?>
<li><?php echo $term->name; ?></li>
<?php endforeach; ?>
</ul>
</div>
</a>
</article>
<?php endwhile;?>
</div>
<?php else: ?>
<p>記事はありません。</p>
<?php endif; ?>
<?php
$args = array(
'mid_size' => 2, // 現在のページの左右にそれぞれ表示するページ番号の数
'prev_text' => 'Prev', // 投稿の前のセットへのリンクテキスト
'next_text' => 'Next', // 投稿の次のセットへのリンクテキスト
'type' => 'list', // ul を使ったリストタグで出力したい場合に指定する
);
echo paginate_links($args);
?>
本文の抜粋を文字数制限&HTMLタグや半角スペースを削除した状態で表示
※120文字で本文の抜粋を表示。
<?php
if(mb_strlen($post->post_content, 'UTF-8') > 120):
$content = str_replace('\n', '', mb_substr(strip_tags($post->post_content), 0, 120, 'UTF-8'));
echo $content .'…';
else:
echo str_replace('\n', '', strip_tags($post->post_content));
endif;
?>
記事に一定期間Newマークを表示
<?php
$days = 7; // 表示させたい日数
$published_time = get_post_time();
$today = wp_date('U');
$show_threshold = $today - $days * 86400; // 24時間=86400秒
if($published_time > $show_threshold):
echo '<span class="new">New</span>'; // 表示させたいコード
endif;
?>
パンくずリストを表示
※この例では、パンくずリストを出力するプラグイン「Breadcrumb NavXT」を使っています。
<ol>
<?php if(function_exists('bcn_display')) bcn_display_list(); ?>
</ol>
カスタム投稿の年別アーカイブリストを表示
・カスタム投稿タイプ=info-en
・ 年別(yearly)※月別にしたい場合は「monthly」に変更
・ 件数表示あり(show_post_count=1)
・ 後ろに「年」を入れる(after=年)
<ul class="archive-list">
<?php wp_get_archives('post_type=info-en&type=yearly&show_post_count=1&after=年'); ?>
</ul>
カスタム投稿の年別アーカイブリストを表示(セレクトボックス)
・カスタム投稿タイプ=info-en
・ 年別(yearly)※月別にしたい場合は「monthly」に変更
・ 後ろに「年」を入れる(after=年)
<select name="archive-dropdownlist" onchange="document.location.href=this.options[this.selectedIndex].value;">
<option disabled selected value>アーカイブ</option>
<?php wp_get_archives('post_type=info-en&type=yearly&format=option&after=年'); ?>
</select>
最低限覚えておきたい
WordPressのコード
-
PHPの条件分岐の基本
-
WordPressで使う代表的な条件分岐
-
投稿の出力でよく使うWordPressのコード
-
テンプレートパーツの読み込みで使うWordPressのコード
-
header.phpの中でよく使うWordPressのコード
-
footer.phpの中でよく使うWordPressのコード
-
sidebar.phpの中でよく使うWordPressのコード
-
functions.phpの中でよく使うコード
-
front-page.phpでよく使うWordPressのコード
-
page.phpの中でよく使うWordPressのコード
-
archive.php(date.php、category.php、tag.php)の中でよく使うWordPressのコード
-
single.phpの中でよく使うWordPressのコード
-
archive-カスタム投稿名.phpの中でよく使うWordPressのコード
-
single-カスタム投稿名.phpの中でよく使うWordPressのコード
-
search.phpの中でよく使うWordPressのコード
-
プラグイン出力でよく使うコード