小説(「EVER AFTER」…新劇版エヴァFF、のつもり)も書いてはいるのですが、行き泥んで寄り道しております。
先日ようやくLocal1が使えそうだ、というところまでお勉強が進んだので、折角だからエンサイクロペディアの大改装に踏み切ってみました。
千柳亭書房エンサイクロペディアについては、このサイトをWordPress仕様にしてから随分とあーでもないこーでもないと七転八倒四苦八苦してきました。エコーナレッジベース2に賭けてみたり、記入を統一するためにカスタムフィールド3を導入してみたり、はたまたタグつながりで参考記事を表示させるように(よせばいいのに)またまたphpをいじってみたりと…いつも小説に詰まると大体こういうところに流れるのですが、今回も例に漏れません。
今回はLocalで試験環境が簡単に作れるようになったので、前回Local上に作ったエンサイクロペディアのバックアップからブループリント4を作り、試験環境を構築する際「CREATE SITE FROM BLUEPRINT」からそれを読みこんでしまえばいくらでもサイトがコピー出来ます。ローカル環境なのでアップロード制限とか関係ないのが気楽でいいですね。
そして、今回は用語集とかナレッジベースに特化したテーマを探し回り、Local上につくったエンサイクロペディアのコピー環境に片っ端から突っ込んで適用、気に入った見栄えのテーマに絞ってさらに作り込んでみました。そうして出来上がったのが今回のエンサイクロペディアです。最終的に残ったテーマは「LikeAWiki」。
画像はヘッダーのみ。シンプルですが、表示の度にヘッダー画像が切り替わる仕様になっているのが面白かったのです。その代わり、ヘッダー用の画像はきちんとサイズを揃えておかないと表示の度に画面が凸凹してよろしくない。そこで、アップロードする前に画像ソフト5で整えてアップしようとしたらこれが結構な手間です。何か良い方法ないかなぁ、と探していたら、他ならぬWordPressにその機能がありました。
【ダッシュボード】→【メディア】→【ライブラリ】→画像を選んで【編集】→「メディアの編集」ページから画像の直下にある【画像を編集】を押せば、ピクセルを指定して画像縮尺やトリミングが出来る画面があります。回転や反転機能もありますが、柳としては縮尺変更とトリミングが出来れば上々なので大助かりでした。
既存のエンサイクロペディアに上げていた画像を残らず指定ピクセルに縮めて切り取って、ごっそりヘッダー画像として登録しました。いままで背景画像として使用していたものが、400×98…ちょっと横長、バナー風の画像として表示されることになりました。
今回phpを弄ったのは条件分岐でテンプレートを分けるところ。
今度のテーマはコンテンツを問答無用でcontent.phpという一枚のテンプレートで表示する仕様になっていました。エンサイクロペディアのテーマを「Scribe」にしていた時、小説ページごとにカスタム投稿タイプを分けていたので、関連ページを表示させるための記述をカスタム投稿タイプごとに別テンプレートにのっけていました。でも、このままでは今まで「Keyword」という囲みで出力していた関連ページが表示されなくなってしまいます。
そこで、基本に則ってindex.phpに条件分岐の行を書き込むことにしました。
<?php if (( get_post_type() == ‘nov1’ )): ?> //そのページがカスタム投稿タイプ「篝火は消えない」であったら(nov1は投稿タイプ「篝火は消えない」のスラッグ)
千柳亭書房エンサイクロペディアのテーマファイルより
<?php get_template_part( ‘content-nov1’ ); ?> //content-nov1.phpというテンプレートで出力してね
<?php elseif (( get_post_type() == ‘nov3’ )): ?> //以下同文。
<?php get_template_part( ‘content-nov3’ ); ?>
<?php elseif (( get_post_type() == ‘novex’ )): ?>
<?php get_template_part( ‘content-novex’ ); ?>
<?php elseif (( get_post_type() == ‘page’ )): ?> //そのページが投稿ではなく固定ページ、(現サイトでは目次とか)なら
<?php get_template_part( ‘content’ ); ?> //content.phpというテンプレートで出力してね
こんなコマンドを全部が全部覚えているわけではなくて、当然その都度調べてはcopy&paste&editして作動確認をしているのです。それでも、ローカル環境なら通信環境の心配をしなくていいので気楽に書き消しできますやね。しかも、へんなところを弄って動作しなくなったらサイトごとバッサリ消してやり直すのも(前述のブループリント、元データがあれば)躊躇なくできます。はっはっは(<要は、そういう無茶苦茶を思う存分やらかした訳です。あぁ爽快!)
実はメニュー(現在、ヘッダーの上と下にある…どっちか削ってやろうと画策した)も作り変えようとしたのですが、動作がおかしくなったのでやめました。おかしくなって復旧不能になったので、サイトごと作り直したんですなこれが(笑)それもバックアップがあれば遠慮はいらない♪ときたもんです。全く、Local様サマ。
かくて、大改装完了しました。そこでふっと気付いたのが、アップロード制限。前回書いた「ALL in one Migration」の裏技を使えば、試験環境をまるっとエクスポート&インポートという荒技も可能な筈ですが、それにはサーバーのアップロード制限も取っ払わねばなりません。流石に300Mオーバーは気が引けたので、そこはさくらインターネット提供の「SnapUp」上に作ったステージングサーバーに同様の改造を施して本番環境への適応という手順を踏みました。
ま、動作すると判ってたら早いもんですね。アップロードに関して言えば、上記のように弄ったphpだけアップロードすればいいんですから。
さて、本腰いれて小説書こう…。
2022/09/25 追記
そう言えば、画像をかなり小さくしたはずなのにサイト全体のサイズがあまり変わらないなぁと思いまして…調べてみると、WordPressではアップロードした元画像に対して、埋め込む際の「サムネイル」「中」「大」に対応する画像として、それぞれの画像サイズに応じたファイルが自動生成されるのですね。そういえばそんな記事を何処ぞで読んだことがあるような気がします。
しかし、うちのサイトはあんまり画像使わないから…と放念していたのですね。だからまぁ、画像のアップロードの際もあまり気にしていませんでした。サーバーもスタンダードプランに乗り換えて容量には余裕があるので、あまりキリキリしなくても良いかと思っていたのです。
ただ、無駄にファイルが多いとデータベースにも負荷になるという話もあるようですし、リビジョンのお掃除も含めてメディアファイルのサイズについては少し考慮すべき時期に来ているのかも知れません。
ひとつ片付くと、また次の宿題が出てくるのですね。まあ、楽しくてやってるんだから文句言うところではありませんが(笑)
- Local…自分のハードディスク上(ローカル)にWordPressの試験環境を作ることが出来るフリーソフト。Localないしlocal by flywheelで検索していただくと解説ページがオニのようにヒットしますので、参考書には事欠きません。
- 用語集の作れるプラグインとしては結構有名だったようなのですが、2022/09/24現在は更新がとまってWordPress公式サイトからも消えてます。
- WordPressにはもともと定型データを入力させるためのカスタムフィールドという機能がありますが、正直あまり使いやすい機能とは言い難いのです。それをサポートしてくれるプラグインが「Custom Field Template」という次第。
- ブループリント…青写真(まんまですな)とか設計図の意味。Localにおいては作ったサイトのコピーぐらいの意味でよろしいかと。
- Window標準のフォトとペイント、花子フォトレタッチで試しました。やってやれないことはありませんでしたが…
コメント