エステサイトの案件で、久々にWEB製作の仕事をしました。
WordPress + TCDテーマのLOTUSを用いたのですが、リラクゼーション系のサイト製作に丁度良いデザインですね。
基本的にディレクターさんがコンテンツ投入をしてくれたのですが、最後の方で大きな課題が舞い込みました。
「(エステの)サービスメニューを4つにしたいです」
※サービスメニューとは、ページ上部のものでなく、お店の用意したサービスメニューの意味です。
・・・
実はLOTUSのテーマ、このサービスメニューを2つまでしか登録できません。
子テーマ側だけを編集して何とかメニューブロックの追加まではできましたが、サービスメニューの中のアイテムの取得ができません。
親テーマのfunctions.phpが呼ばれたタイミングで、このサービスメニューのアイテムが初期化されてしまいます。
子テーマ側で考えられるフックのタイミング全てを試してみましたが、どうしても肝心なタイミングで親テーマの処理が影響してしまいます。
結局断念して親テーマを編集しました。
GitHubで管理しつつ、バージョンアップタイミングで差分管理した方が事故が少ないと思ったためです。
サービスメニューアイテムの表示に内部的にショートコードが使われていて、しかもそれがサービスメニュー1、2でそれぞれ作られているなど、やや難儀な作りになっています。
この辺はWordPress側のAjax仕様に引きずられて苦肉の策なんでしょうかね。
ひとまずLOTUSなり他のTCDのテーマも構造は把握してるので、どうしてもカスタマイズできないという場合はお声がけいただければと思います。