ヘルプ:テンプレートの一部を無視させる

提供:あわ自由帳

メインページ > ヘルプ:目次  > テンプレートの一部を無視させる

一部を無視させる

他のページから呼ばれたときに無視する部分を指定したり、他のページから呼ばれたとき以外は無視する部分を指定したりすることができます。

呼び出し先の表示内容の指定

<noinclude><onlyinclude> は、テンプレートが他のページから呼び出されたときに表示しない部分、もしくは表示する部分を指定します。次のような用途で使われます。

  • テンプレートの説明を書く。(テンプレートの説明は、他のページから呼び出されたときには伏せられます。)
  • テンプレートのカテゴリを書く。(テンプレートのページだけがカテゴリに加えられる。他の場合には、テンプレートを呼び出しているすべてのページが同じカテゴリに加えられることになります。)

なお、テンプレートのソースを見やすくするなどの目的で不用意に <noinclude> の直前に改行を入れると、テンプレートを呼び出したページにおいて表示が崩れる原因となることがあります。また説明が長くなるときは説明専用のページを作ることも検討してください(詳しくはHelp:テンプレートの説明文参照)。

<noinclude>

テンプレートのある部分を <noinclude></noinclude> で挟むと、その部分は他のページから呼び出したときに取り除かれます。たとえば、「Template:内弁慶」が

彼は<noinclude>家ではいばっているが外では</noinclude>なよなよしている。

の場合、「Template:内弁慶」を開くと テンプレート:Indent と表示されますが、他のページから

{{内弁慶}}

のように呼び出された場合には、 テンプレート:Indent とだけ表示されます。

<onlyinclude>

<noinclude> と同じ目的ですが、逆に呼び出された時の表示部分を指定するものとして、<onlyinclude> があります。こちらは他のページから呼び出されたときに <onlyinclude></onlyinclude>の間だけ返して他は無視します。たとえば「Template:居留守」が

電話がかかってきたら<onlyinclude>いない</onlyinclude>って言って。

の場合、「Template:居留守」を開くと、 テンプレート:Indent と表示されますが、他のページから

{{居留守}}

のように呼び出された場合に、 テンプレート:Indent とだけ表示されます。

テンプレートページの表示内容の指定

先の2つと逆の用途のものが、<includeonly> です。これは、<includeonly></includeonly> に挟まれた部分が他のページから呼び出されたときだけ有効で、そのページ(テンプレート)を直接表示した時には無視される、というものです。たとえば、「Template:へそくり」が

貯金は1万円<includeonly>だけどほかにスイスに1億フラン</includeonly>あります。

の場合、「Template:へそくり」を直接表示すると テンプレート:Indent ですが、

{{へそくり}}

のように呼び出された場合には テンプレート:Indent となります。

テンプレートを貼ったページをあるカテゴリに入れたいが、テンプレートそのものはそのカテゴリに入れたくない、というような場合によく使われます。たとえば、削除依頼テンプレートの削除カテゴリなどです。

<includeonly>使用時の注意

<includeonly> と </includeonly> の前後にある改行は呼び出される部分に含まれています。例えば <includeonly></includeonly> のテンプレート本体と <noinclude></noinclude> のテンプレートの説明等だけのテンプレートページでは、<noinclude></noinclude> が呼び出される部分になるので、</noinclude> と <includeonly> の間や </includeonly> と <noinclude> の間にある改行は呼び出される部分に含まれます。また、<includeonly> の直後と </includeonly> の直前の改行も呼び出される部分に含まれます。

一覧

以上3つを表にまとめると次のようになります。

空間 <noinclude> <onlyinclude> <includeonly>
ソース A<noinclude>B</noinclude>C A<onlyinclude>B</onlyinclude>C A<includeonly>B</includeonly>C
テンプレートを直接
表示したとき
ABC ABC AC
呼び出したページ
における表示
AC B ABC


なお、テンプレートを呼び出した場合、<onlyinclude> が最優先され、その外側にある <nowiki>, <pre>, <noinclude> は効果がありません。

空間 <nowiki> 外側の <noinclude> 内側の <noinclude>
ソース <nowiki>
A<onlyinclude>B</onlyinclude>C
</nowiki>
<noinclude>
A<onlyinclude>B</onlyinclude>C
</noinclude>
<onlyinclude>
A<noinclude>B</noinclude>C
</onlyinclude>
テンプレートを直接
表示したとき
A<onlyinclude>B</onlyinclude>C ABC ABC
呼び出したページ
における表示
B B AC