SWELL 固定ページにカスタムテンプレートを追加する手順
SWELLというよりもWordpressの機能になりますが、カスタムテンプレートという機能があります。
カスタムテンプレートとは?
固定ページのテンプレートを投稿毎に切り替える機能です。
SWELLでカスタムテンプレートを利用するにはどうしたらよいか?という質問がフォーラムに上がっていました。
デフォルトの固定ページの投稿画面では、
概要から「デフォルトテンプレート」と「人気記事一覧」とテンプレートを選択できます。選択できるテンプレートを増やしたいのですが、「どこ」に「どの」ようなファイルを作れば良いのでしょうか。
https://users.swell-theme.com/forum/postid/8612/
あるいは、「どの」ファイルを元に、リネームしてカスタマイズしていけばようのでしょうか。
ご教授していただきますよう、お願い申し上げます。
SWELLの機能ではないということで、直接的な回答は付きませんでした。
この記事では、SWELLでカスタムテンプレートを使う方法をまとめたいと思います。
この記事でわかること
- カスタムテンプレートとは何か:
- 固定ページのテンプレートを投稿ごとに切り替える機能
- 子テーマが必須である理由
- カスタムテンプレートのメリット:
- 固定ページごとに異なるテンプレートを適用可能
- レイアウトを自由に変更できる
- SWELLでのカスタムテンプレートの導入方法:
- 子テーマの導入手順
- 親テーマのpage.phpを子テーマにコピーする方法
- コピーしたpage.phpの名前を変更し、コメントを追加する手順
- カスタムテンプレートの編集方法
- 固定ページのテンプレートからカスタムテンプレートを選択する方法
- カスタムテンプレートが選択できない場合の対処法:
- 文字コードの問題とその解決方法
カスタムテンプレートを使うメリット
子テーマを導入してまで、カスタムテンプレートを導入するメリットが無ければ導入する気が起きないと思います。
カスタムテンプレート導入のメリットは次の通りです。
- 固定ページのテンプレートをエディタから選択することができる
- 特定の固定ページだけ異なるテンプレートファイル(HTML構造)を適用することができる
サイト制作などで、固定ページごとにレイアウトを変えたい場合などカスタムテンプレートが活躍します。
SWELLでもカスタムテンプレートは使われている
SWELLにはカスタムテンプレートが組み込まれています。
固定ページの編集画面で、テンプレートという項目に『デフォルトテンプレート』となっている部分をクリックするとテンプレートが選択できます。
SWELLには、2つのテンプレートがあります。
- デフォルトテンプレート
- 人気記事一覧(カスタムテンプレート)
SWELLのカスタムテンプレート導入方法
カスタムテンプレートを使うには子テーマが必要になります。
子テーマを使用していない場合は、まず、子テーマを導入します。
SWELLの親テーマのswell/page.php
を子テーマにコピーします。
子テーマのディレクトリ名がswell_childの場合は、swell_child/page.php
になるようにコピーします。
swell_child/page.php
の名前を変更します。
名前は好きな名前で大丈夫です。
名前を変更したphpファイルの先頭にコメントを追加します。
コメント内のExample Templateの部分をわかりやすい名前に変更します。
<?php /* Template Name: Example Template */ ?>
親テーマのpage.phpからコピーして名前を変更したカスタムテンプレートは、元のファイルと同じ内容になっています。
あとは、中身を編集すれば、自分専用のカスタムテンプレートファイルが出来上が有ります。
固定ページの編集画面で、テンプレートという項目に『デフォルトテンプレート』となっている部分をクリックするとテンプレートが選択できます。
テンプレートの中に、先頭のコメント部分のTemplate Name:以降に書いた名前のテンプレートが存在していれば組み込み成功です。
カスタムテンプレートが一覧に表示されない時は?
追加したカスタムテンプレートがテンプレートから選択できない場合には、文字コードの問題の可能性が高いです。
テンプレート名を日本語で入力すること自体は問題ないのですが、UTF8で保存されていない場合は、カスタムテンプレートとして認識しません。
FTPなどでアップローした場合は、Shift-JISになっている可能性がありますので、UTF-8で保存してアップロードし直しましょう。
まとめ
カスタムテンプレート機能はSWELL特有の機能ではありません。
WordPressの機能ですので、どのテーマでも使える機能になります。
サイト制作をしている人たちは常識的に使用している機能ですが、SWELLの利用者の大半にはなじみの無い機能かもしれません。
SWELLでサイト制作を行っている人も増えていると思いますので、固定ページのテンプレートを簡単に切り替えられるようにできるカスタムテンプレートの機能は覚えておいて損は無いと思います。
コメント