
ブログ機能に便利な値の取得と出力
WordPressでブログサイトを作成時に、ブログ特有のよく使う機能やちょっと便利になるような機能を実装するコードをまとめてみました。基本的なものから、ちょっと応用したものまで、こんな機能が欲しい!となった時にすぐ使えるものばかりです。
また、前回の記事「カスタム分類のターム名表示とスラッグを取得する方法まとめ」も合わせてみて頂けますと嬉しいです。
1. カテゴリー、月別アーカイブに投稿記事数を表示
特定のカテゴリーまたある月の記事数はどれくらいかを伝える時に有効です。カテゴリーもしくは投稿年月の後に(投稿記事数)の形で表示されます。それぞれのリストを表示させる関数の引数に、カテゴリーアーカイブの場合は「show_count=1」、月別アーカイブの場合は「show_post_count=1」と指定します。// カテゴリーアーカイブリストの場合
<ul>
<?php wp_list_categories('show_count=1'); ?>
</ul>
// 月別アーカイブリストの場合
<ul>
<?php wp_get_archives('show_post_count=1'); ?>
</ul>
2. 記事シングルページに著者名と著者名アーカイブのリンクを表示
記事シングルページには情報として著者の名前と、その著者が書いた記事一覧アーカイブページへのリンクがあると、よりたくさんの記事を見てもらいやすくなります。ログインしているユーザーとしての著者アーカイブページへのリンクはget_author_posts_urlで出力でき、メタ情報として著者のIDを使用します。// 著者名表示 記事を書いた人:<?php the_auther(); ?> // 著者アーカイブへのリンク表示 この人が書いた記事一覧は<a href="<?php echo get_author_posts_url( get_the_author_meta( 'ID' ) ); ?>">こちら
3. 著者のアイコン(アバター)画像を表示する
著者名でだけでなくアイコン(アバター)画像もあればより見た目が華やかになりますし、どんな人が書いたのかも伝わりやすくなります。この画像を表示させるには、「Simple Local Avatars」などのアバター設定機能が実装できるプラグインが必須になります。<?php echo get_avatar( get_the_author_meta( 'ID' )); ?>
4. 月別アーカイブのタイトルを『yyyy年mm月』の形で表示
月別アーカイブなどで、yyyy年mm月に投稿したことがわかるようにタイトルを表示させたいときのコードです。<?php echo get_post_time( 'Y年m月' ); ?>に投稿された記事一覧
5. 子カテゴリー記事の親カテゴリーに当たるカテゴリー名を表示
子カテゴリーの記事で、子カテゴリーでは無く親カテゴリー名を表示させたいときもあるかと思います。親カテゴリー名だけでなく、親カテゴリーのslugを取得してclassに設定することも可能です。// 子カテゴリーの親カテゴリー名を出力して表示
<?php
$cats = get_the_category();
$cat = $cats[0];
if($cat->parent){
$parent = get_category($cat->parent);
echo $parent->cat_name;
} else {
echo $cat->cat_name;
}
?>
// 子カテゴリーの親カテゴリーslugを出力してclass名に設定
<span class="<?php
$cats = get_the_category();
$cat = $cats[0];
if($cat->parent){
$parent = get_category($cat->parent);
echo $parent->slug;
} else {
echo $cat->slug;
}
?>"></span>
6. 記事シングルページで前後記事へのリンクを出力
記事シングルページにおいてよく見かける、「次の記事へ」「前の記事へ」といったページネーションも下記のコードで実装できます。もちろんページタイトル等も表示させることも可能です。該当する記事が無い場合は条件分岐で表示させないようにします。// 前の記事へのリンク
<?php if (get_previous_post()):?>
<?php previous_post_link(' %link ',' << 前の記事へ ',false); ?>
<?php endif; ?>
// 次の記事へのリンク
<?php if (get_next_post()):?>
<?php next_post_link(' %link ',' 次の記事へ >> ',false); ?>
<?php endif; ?>
7. マルチサイトでサイトごとの分岐処理を行う
1つのWordPressで複数のブログサイトなどを運用するケースで使われる「マルチサイト機能」ですが、サイトごとに処理を切り分けたいという場合もあります。そんな時には「get_current_blog_id()」関数を使ってマルチサイトに登録されたサイトのIDを取得して分岐処理を行います。<?php
$current_site = get_current_blog_id();
if($current_site === 1) {
echo 'サイトAが表示されています';
} else if($current_site === 2) {
echo 'サイトBが表示されています';
}
?>
ブログもよくみると細かな機能がたくさんあり、たくさんの記事を見てもらうにはこのような一つひとつの機能も重要になってきます。是非活用してみてはいかがでしょうか。
categories
- WordPress(61)
- JavaScript(49)
- Vue.js(48)
- CSS(46)
- jQuery(34)
- Nuxt.js(22)
- Sass(21)
- Gulp(17)
- webpack(16)
- PHP(14)
- HTML(14)
- GSAP(11)
- React(10)
- Vite(9)
- Pug(9)
- Laravel(8)
- Cordova(8)
- Linux(7)
- Next.js(6)
- Apache(5)
- Shopify(4)
- REST API(4)
- Node.js(4)
- Smarty(3)
- Git(3)
- JSON(3)
- その他プログラミング(3)
- Google Apps API(3)
- Bootstrap(3)
- 環境構築・システム(3)
- TypeScript(2)
- EJS(2)
- RMS(2)
- Docker(2)
- Instagram API(2)
- Excel VBA(2)
- SVG(1)
- Dart(1)
- ECカートASP(1)
- Markdown(1)
- AMP(1)
- Nginx(1)
- XML(1)
- shellscript(1)
- Ruby(1)
- MySQL(1)