テーマを変更する①

WordPressで小説サイト
水面の光

 WordPressでこのサイトを構築する際、柳は小説サイトを作る!という目標でとにかくいろいろなテーマ1を物色しました。基準としては、

  1. とにかくシンプル
  2. 画像は極力抑える、でも扉絵はつけたい
  3. いわゆるブログではなく、本を捲るような静的構成が可能

…というのが最低条件でした。結果、2018年4月にWordPress版千柳亭書房を構築する際「Scribe」というテーマを択んだ次第です。1.と2.は概ね満たしていたと思います。でもまぁ、最初ですから、WordPressに何が出来て何が出来ないのか、まったく手探りといって良い状態。3.についてはとりあえず、やってみなけりゃわかんないよね、というところが多分にありました。

 WordPressというのは元々ブログ向けCMS(コンテンツ管理システム)です。ブログというのは記事がどんどん更新されてナンボ、という代物で、次々と新しい記事が前面に押し出されるのが普通ですね。しかし小説の場合はいきなり途中から読まされても困る。ご来訪いただいたお客様には最新コンテンツはもとより、いつでもその小説の冒頭から順番に読んでいただけるような配慮が必要になります。

 そういった事情から当サイトは殆どが固定ページで構成されているわけですが、そこで困るのがページ送り。ページ送りなんて投稿ページにはもともと備わっている2のですが、そもそもブログというものは固定ページにページネーションをさせるという概念がないので、これを実現するために、柳は結構苦心惨憺したのでした。

柳の苦心惨憺の記録

 結局、柳がphpテンプレートなんぞを弄る理由はひたすらここなのです。だから今回のテーマ変更にしても、ここを一番苦労したと言っていいでしょう。

 そうまでして何でテーマ変更に踏み切ったかというと…やはりまあ、ブロックエディタへの対応でしょうか。それと、閑雲亭や画房、エンサイクロペディアなど機能分化もすすんだことですし、ここはひとつ「小説を掲載する」サイトとしての体裁を今一度整えようと思ったのでした。ブロックエディタ非対応な部品を乗っけたページもあるので、これを機会にクラシックエディタで作ったページをブロックエディタ対応に修正しようという目論見もあったのです。ブロックエディタに切り替わって、スペースなどは何もプラグインに頼らなくて済む状況になってきたため、余計なプラグインを整理したかったのですよ。

 そして、目をつけたのが現在の「Cocoon」という次第。この親切で多機能な国産(<此処大事!)テーマ「Cocoon」のオフィシャルページはこちら。

 何故に国産に拘るかというと…柳は別に国粋主義から言っている訳ではなく、カスタマイズのためにテーマファイルを開いた場合、英語の註釈ではその構成がどうにも読み取りづらいのです。とどのつまり柳の英語力が貧弱だからと言うことに尽きるのですが。

 また、「Cocoon」には親切にもカスタマイズ用の子テーマが提供されています。まあ本来、子テーマを作成してその子テーマをカスタマイズするというのが本道3なのですが、WordPress初心者マークだった柳は「Scribe」をそのまんまカスタマイズしていたのでした。始動後しばらくして「あ、しまった」とは思ったのですが、「Scribe」はその後アップデートがかかる様子がなかったので「ま、いっか」ということになったのでした。4

 さて、カスタマイズすべき子テーマの中は、ほぼどんがらです。さ、カスタマイズしよっ♪と子テーマファイルを開けたときにpage.php5もsingle.php6も見当たらなくて一瞬焦った莫迦が此処に居るのですが、まあ何のことはない、必要なファイルを親テーマからコピーしてくれば良いだけの話なのですね。それが判れば後は早いです。
 作るのはページ送りだけですから、ページ送りをする固定ページテンプレートと、しないテンプレートを分けるだけです。今回は投稿ページを弄るつもりがなかったのでpage.phpを複写してpage-***.phpというページネーション用のテンプレートファイルを作成し、そこへ「Scribe」で培ったページネーションの命令文“the_post_navigation”を貼り付けます7

 あとはCSSで表示を調整します。この場合、CSSをテーマファイル(Style.css)から弄ると表示の確認に一手間かかるので、今回は一貫して【ダッシュボード】→【外観】→【カスタマイズ】の【追加CSS】で書き込むことにしました。これだと実際の表示を見ながらCSSを書き込めるので、修正がしやすいのです。ただ、この場合注意しないとイケナイのは納得できる表示になったら必ず【公開済み】ボタンを押しておかないと折角のCSSが消えてしまうということでしょうね8

 「Cocoon」は本当に無料!?と思うほど多機能で親切です。かなり細かくカスタマイズ出来るし、その方法が公式サイトで紹介されており、フォーラムで情報交換もされているという徹底ぶり。頻回にアップデートもされていてブロックエディタへの対応も進んでいるようです。

 面白い機能もたくさん持っているので、今後はそれについてのあれやこれも随時覚え書きとして載せていこうと考えています。まだまだ弄り甲斐がありそうで、ワクワクしますね。

 あ、でも小説も書かないと…(汗)

  1. テーマ…Webサイトのデザインを決めるテンプレートのセット。
  2. ただし、その順番は新しい記事から古い記事へ、と遡るようになっているので、小説のように古いものから新しいものへと流れてくれないと甚だ具合が悪いのです。
  3. カスタマイズするなら子テーマで、というのはほぼ常識のようで、子テーマをつくるためのプラグインというのも存在しています。
  4. 使用テーマをそのままカスタマイズしてしまうと、そのテーマに更新がかかった場合、今までのカスタマイズがおシャカになるという悪夢のような現象が起きます。テーマの更新がほとんどないか、もしくはあっても更新を拒否し続ければ問題ないのですが、更新って基本バグフィックスですから当てるに越したことはないのです。「Scribe」は柳が使い始めた頃から一度として更新のお知らせが来なかったので、何も支障はありませんでした。まあ、それはそれでどうなんだ、という話もありますが、ここは余談。
  5. 固定ページ用のテンプレート
  6. 投稿ページ用のテンプレート
  7. ここらへんで今までの資産が活用出来ました。今までやってきたことは無駄じゃなかった!
  8. 白状します。やりましたとも。それも結構何回も…

コメント