【WordPress】 固定ページ「すべてのタグ」ページを作成する 【#np2020】

タグ一覧
右メニューに表示するにはちょっとタグの数が多すぎるので、タグ一覧のページを作成してみました。


固定ページ用のテンプレートを作成

テーマで用意されている固定ページ用のテンプレートをコピーしして使用します。

今回は「Understrap」というテーマの子テーマをカスタマイズしているので、デフォルトとして使用している understrap/page-templates/right-sidebarpage.phpunderstrap-child/page-templates/tags.php としてコピー。「Template Name」だけは忘れずに変えておきます。


/**
* Template Name: Tags with Right Sidebar Layout
*
* This template can be used to override the default template and sidebar setup
*
* @package understrap
*/


タグ一覧を表示させる部分はこんな感じです。


$terms = get_terms('post_tag');
if(!empty($terms)) {
   $html = '<ul class="list-inline">';
   foreach($terms as $term){
       $html .= sprintf(
           '<li class="list-inline-item"><a href="%s">%s</a></li>'
           ,get_term_link($term)
           ,esc_html($term->name)
       );
   }
   $html .= '</ul>';
   $post->post_content = $html;
   setup_postdata($post);
}
the_content();

「Understrap」では Bootstrap4 を使っていて、ulli に適当なクラス名を付与することで横並びのタグクラウド形式での一覧表示が可能です。

参考:文字の体裁~Bootstrap4移行ガイド

テンプレートが出来たら保存してデプロイ(またはアップロード)。



固定ページを作成してテンプレートを適用する

固定ページを作成し、タイトルを付けます。本文は空でOKですが、スラッグは適当に付けましょう。出来たら、ページ属性から先ほど作ったテンプレートを選択して公開すればOK。

そうして出来たページがこちら。


すべてのタグ – NOBODY:PLACE


簡単ですねー。

自分がPHPに慣れているからというのもありますが、WordPressはこういうとこ柔軟で嬉しいです。