Viewのループ内でコンテンツテンプレートを使う


概要

Viewでは、タイトルや本文といった標準的なWordPressのフィールドだけでなくコンテンツテンプレートを表示することができます。
コンテンツテンプレートは、サイト内の複数のViewに挿入できるので、ToolsetのショートコードやHTMLで構成されるコンテンツテンプレートを流用すれば、より複雑なHTMLを構築することができます。

コンテンツテンプレートをViewの中で使う

 

サイト内でコードを再利用するという考え方

View内で使用するコンテンツテンプレートは、ワープロソフトなどで使う定型文の挿入や、Emailの署名欄に似ています。例えば、あるサイトでは、投稿日に関する次のようなViewを頻繁に使うとします。

これは、 [wpv-post-date]と、 [wpv-post-date]という2つのショートコードにclassや日付の書式設定に関するショートコードのオプションを付与したものです。Viewを作る際、毎回同じclassや書式設定のオプションを付与するのは不便なので、これらの記述をひとまとめにしてコンテンツテンプレートとして保存し、必要に応じて呼び出せるようにします。上記で示した例は単純なものですが、より複雑なHTMLやCSS、ショートコードをコンテンツテンプレートとして保存しておけば、View作成の効率が上がるだけでなく、メンテナンスも容易になります。

 

View編集画面からコンテンツテンプレートを追加する

View編集画面のLoop Output欄で、 <wpv-loop></wpv-loop>内にカーソルを置き、Content Templateボタンをクリックし、このView用のコンテンツテンプレートを作成します。Content Templateボタンをクリックすると開く「Assign a Content Template to this View」ダイアログボックスでは、既存のコンテンツテンプレートを呼び出すか、その場で新規コンテンツテンプレートを作成するかを選択できます。ここでは新規作成を選びました。

 ViewsプラグインのVer.1.7で画面上の表記が変更になりました。スクリーンショットはそれ以前のものになりますので適宜読み替えて下さい。
 ①レイアウトセクションループ出力セクション
 ②「Layout HTML/CSS/JS」欄「Loop Output」欄
 ③「Layout Wizard」「Loop Wizard」

Content Templateボタンをクリック

上から2番目、「このView用にコンテンツテンプレートを作成する」を選択し、名前をつけて、「Assign Content Template」をクリック

Viewループ内に、次のようなショートコードでコンテンツテンプレートが挿入されます。

コンテンツテンプレートが挿入されると、Loop Output欄の下に、新たに「Templates for this View」という欄が出現します。この欄に、コンテンツテンプレートとして、まとめておきたいショートコードやHTML,CSSを記述します。

Templates for this View欄が新たに現れる

まとめておきたいショートコードやHTMLを記述しておく

コンテンツテンプレートには、あらゆるショートコードやHTMLを追加できます。そして追加されたショートコードやHTMLはコンテンツテンプレートのショートコード( [wpv-post-body view_template="テンプレート名"])が挿入された場所に表示されます。
もしも後からコンテンツテンプレート部分を編集したくなった場合は、このView編集画面にもどって編集するか、WordPress管理画面からViews>Content Templateに移動して、テンプレートを直接編集することもできます。

 

その他のコンテンツテンプレート追加方法

既存のコンテンツテンプレートであれば、Loop Output欄で、Loop Wizardを使用する際に、コンテンツテンプレートを選択することができます。

Wizardでループ内に追加できるアイテムの一覧にコンテンツテンプレートがある。