「Table of Contents Plus」は、自動的にもくじを生成してくれる便利で有名な WordPress プラグインです。
有効化するだけで機能は使えるのですが、記事によってはカスタマイズを加えたいシーンもあるのではないでしょうか。
ショートコードを使うことで、その要望を叶えられる場合があります。WordPress公式ディレクトリより、TOC+独自のショートコードをまとめておきます。
もくじ関連のショートコード
もくじの表示/非表示
[toc]
もっとも基本となるショートコード。
プラグインの設定で表示条件を指定しているはずなので、それに合致する場合はこのショートコードを記述していなくても自動的にもくじは表示されます。
もくじを非表示にしたい場合、以下のショートコードを任意の場所に記述します。
[no_toc]
これらのショートコードは投稿(ポスト)、固定ページ、カスタム投稿タイプで有効です。
もくじのタイトルを変更する
[toc label="もくじのタイトル"]
設定したデフォルトとは違うタイトルをつけるには、label
プロパティを使用します。
もくじのタイトルを非表示
[toc no_label=true]
もくじに含める見出しを制御する
[toc heading_levels="2,3"]
ブログ記事で使われる中見出しは主に<h2>
以降です。<h3>
のみにしたい、<h3>
と<h4>
だけにしたいなど、もくじとして表示したい見出しレベルを個別に指定できます。もくじに含めたい見出しレベル(<h2>
なら2)をheading_levels
に記述するだけ。複数指定するときは例のようにコンマで区切ります。
もくじを回り込ませる
[toc float="left"]
float
プロパティを付与することができます。left
もしくはright
のみ指定可能。
もくじにクラスをつける
[toc class="クラス名"]
任意のクラスをつけることができます。このクラスは1つでなくてもよく、半角スペースで区切ることで複数のクラスをつけられます。
サイトマップ関連のショートコード
サイトマップを表示する
[sitemap]
すべての固定ページとカテゴリのリストを自動生成します。投稿やページだけでなくテキストウィジェットでも使用できますが、これには投稿(ポスト)は含まれません。
固定ページのみのサイトマップを表示する
[sitemap_pages]
投稿(ポスト)、カテゴリページなどは含まれません。
<h1>
~<h6>
までの使用する見出しを指定
[sitemap_pages heading="数字"]
- リストのタイトルを変更
[sitemap_pages label="リストのタイトル"]
- リストのタイトルを非表示(false もしくは true)
[sitemap_pages no_label="false"]
- リストからページまたはカテゴリを除外
[sitemap_pages exclude="除外するページまたはカテゴリのID"]
- リストからページまたはカテゴリを除外(子孫を含む)
[sitemap_pages exclude_tree="除外するページまたはカテゴリのID"]
カテゴリのみのサイトマップを表示する
[ sitemap_categories]
[ sitemap_pages]
と挙動は同じで、カテゴリのみのリストを生成します。
投稿を含むサイトマップを表示する
[ sitemap_posts]
[ sitemap] は固定ページとカテゴリのみのリストでしたが、これは公開されたすべての投稿(ポスト)のリストを生成します。デフォルトではアルファベット順に並べられています。
- 並び順を変更(ASCで昇順、DESCで降順)
[sitemap_posts order="ASC"]
- タイトル順
[sitemap_posts orderby="title"]
- 投稿日時順
[sitemap_posts orderby="date"]
- ID順
[sitemap_posts orderby="ID"]
- ランダム
[sitemap_posts orderby="rand"]
- その他については WP_Query ≪ WordPress Codex(日本語Codex) を参照のこと
- 最初の文字でリストを区切る(デフォルトはtrue)
[sitemap_posts separate="true"]
サイトマップはともかく、もくじのショートコードは結構日常的に使うと思います。細かく見出しを分けて<h3>
は除いていいかな~なんてときですね。これいらない気がする…とよそ様のブログを見ていて思うことも多いです。
あたりはクイックタグに登録しておくのも手。せっかく導入しているプラグインなので、ぜひご活用ください。