CSS編集を使ってサイト改造中④

このシリーズも早4回目。やれやれ。いかに私がドシロートかがよく分かるわ。何が最大のドシロートぶりかっていうと、一見簡単そうな問題が決して見た目ほど簡単ではないということになかなか気づかなかったということ。
特定かつ複数にわたるページに、オリジナルとは違うテンプレートを作って適用させることがいかに難しいか。いや、おそらく難しいわけではなくて、知識がないのにやろうとして、(知識がないから)考えていた以上の作業ステップが必要だったことに今さら気づいているだけなんだろう。

さて始めたからには最後まで食いつく食い意地の張った性格をしているので(^^)、とことんまで試行錯誤してみましょう。これはもう腹を据えて、このテンプレート用のheader-novei.phpとstyle-novel.cssを作ってしまうしかないみたいだ。そんでもってget_stylesheet関数でとstyle-novel.cssを引っ張り込んで、get_header関数でheader-novei.phpを指定すればいいはずなんだけど・・・。
ちなみにこの方法はsand a lot Web & Music Createさんの、「WordPressで固定ページのテンプレート毎にページデザインを変える方法を2つほど」というページで知りました。ありがとうございます! 私が持っている入門書にもget_stylesheet関数は通常header.phpに記入するって書いてあったので、この方法でようやくいけると思ったのですが・・・。

何と! このmh-magazine-liteというテーマはけっこう複雑な作りをしているらしくて、header.phpの中にはget_stylesheetという関数がない! 一体どこにいるんだ? こういう重要なものっておそらくfunctions.phpあたりなのでは・・・と思って探したら、ありました! ありましたよ! 76行目に

wp_enqueue_style(‘mh-style’, get_stylesheet_uri(), false, ‘1.6.2’);

という記述が! 使っている関数は違うけれどきっとこれがスタイルシートを読み込んでいるんでしょう。でででで・・・でもっ、functionsって怖くていじりたくないよ(TT)方々のサイトさんにお邪魔してまわったところ、カスタムフィールドを利用しても特定のページに特定のcssを適用できるらしいことが分かった。まあ、テンプレートを作ってそれを使い回す方が圧倒的に簡単なんだけど。元々あるfunctionsの記述を書き換えるよりは失敗が少なくてましな気がするわ。

これに関しては「コピ-ライティングセールスデザインマーケティング実践記」というサイトさんの「WordPressでページごとに別のスタイル(外部CSS)を適用させる方法」という記事で詳細を知りました。誠にありがとうございます。で、この方が懇切丁寧に解説を書いて下さっているんですが、子テーマにfunctionsを複製する場合は扱いに注意がいるらしいんですよ。

「【注意】子テーマ作成でトラブルが起きたら…子テーマをつくってのカスタマイズ方法 -functoins.php篇-」という記事でおっしゃっているように、『追加はできるが、上書きはできない』そうなんです。つまり、子テーマフォルダに複製したcssなんかは親テーマのcssを上書きしてくれるんですが、functionsはそうはいかないらしい。だからcssを読み込んでいるのがfunctionsの場合、素人では非常にいじりにくい。「このページテンプレートを使う時だけこのcssを適用せよ」という命令を新たに追加せねばならないわけで、どう記述すればいいのか私では調べても分からんわ。

そういうわけで、さんざん試行錯誤したけれど、functionsをいじってカスタムフィールドを使えば、今度こそはゴールにたどり着けるだろうか?

(残念ながら)このシリーズまだまだ続く。トホホホホ・・・。