2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

カスタム投稿と固定ページが入り組んだwordpressを作ってしまったので反省する

Posted at

はじめに

Webサイトを運用していくにつれ、コンテンツの拡充や統合が起きるのは当たり前のこと。
顧客要望をそのまま受け取りすぎて拡張性・汎用性をおろそかにしてしまったエンジニアのログです。
このプロジェクト自体はずっと前の者ですが、下書きしてから2年(もうすぐ3年)とあたためすぎたものです。ご容赦ください。

Season 1

出会い

WebサイトをHTMLで管理しているが難しいので感覚的に操作できるようにしたい、というよくある要望からのスタートでした。
WordPressのカスタマイズを商売にしているので、カスタムフィールドを駆使して入力項目を明確にすることでを担当者のレベルに影響されずそれなりのクオリティのページを作成できるようにしていました。
今回もそれに漏れない要望だったので、項目をヒアリングしてそれっぽく構築をはじめました。

打ち合わせを重ねて

構築を進めながら原稿が集まり、着々とWebサイトの体を成してくるとクライアントも気持ちが盛り上がってくるものです。
今思えば当初の要望やスコープを軸に盛り上がりすぎた熱を収める必要があったように思いますが、未熟な私は自身の経験不足と要望を飲み込んでしまっていたのでした。

Season 2

特に肝いりの製品情報

特にカスタマイズしたのは製品を管理する画面でした。
カスタム投稿を別途用意し、写真、カラーバリエーション、仕様、PDF…製品に関するすべての情報を盛り込みました。
製品ページとして出力するだけでなく、一押し製品としてのピックアップ、他製品との比較などなど…あらゆる出力が求められました。

ええっ?!ここまでカスタマイズしておいて?!

まあまあ作りこんだのですが、専用管理画面のみでなくデフォルトの固定ページのみで済ますページも必要であることがわかりました。
ウィジウィグは残してあったんですが、出力するデザインの分岐等やそもそもの管理画面の機能が多すぎて切り替えもわかりづらくなってしまいました。
しかもクライアントからは管理画面使いづらいって言われてしまう始末。

つまり、固定ページを使う必要がでてきました。おかえり!

Season 3

逆は作ったことがあった

オリジナル管理画面は使いづらいけど既に製品は登録されているので使い続ける。
でも今後は固定ページで運用していくから、固定ページを優先して表示する。
連携とかワンソースマルチユースとかめっちゃ求められてた気がするのに、全部それぞれ管理することになりました。

つまり最終的に、【基本は固定ページで、固定ページに存在しないときだけカスタム投稿を参照する】仕様となりました。

これがほんとにうまくいかなくてTeratail先生にお世話になったのでした。
特定のカスタム投稿の優先順位を下げ、固定ページが優先して表示されるようにしたい

add_filterほんと意味わからないんですけどどうやって皆さん使いこなしているんですか?
ここの修正はすごく時間がかかった気がするのですがあまり覚えてなくて、Teratail残っていたので思い出せる感じです。
関係ありませんが人間はある程度の痛みやストレスを感じると記憶を消去するらしいです。

納品

その他にもカスタマイズしたりデフォルト機能に戻したりありましたが、どうにか納めることができました。
そのサイトは今も公開されており更新されているのできっと中の人が頑張っているのだと思います。
当時の私(メンバー含め)の頑張りが手離れして使われているのは不思議な感じです。

反省点

スコープや当初の目的から外れない

そもそも当初の見積や仕様から大幅に外れた作業となっていました。
製品管理のシステムを作ったことがない広報系Web屋が気軽に踏み入れていいものではなかったですね。
設計をもっと落とし込んだ上で見積りするべきでした。
設計を落とし込むってどういうことって感じですが、それこそ受注できる体制ではなかったということ…いい勉強になりました。

オリジナルのデータは切り分ける

WordPressのカスタムフィールドで追加要素を保存できる事実はありますが、あまりに込み入るデータ量であれば別途にするべきでした。
項目の追加削除についても汎用性がないし、そもそも保存で配列になるしシリアライズ化すると検索や置換もうまくいかない…
当時の私はテーブルにデータを保存するという発想や知見がなかったのも大問題です。

「作れるか」でなく「使えるか」で考える

顧客の要望に「できらあ!」と無茶をしましたが、作れはしたもののそれは使いにくいものでした。
仕事なので、自分の達成感よりも実用性や顧客満足度にもっとフォーカスするべきでした。
かなりの工数を使いましたが、顧客が使えないのであればサービスとして本末転倒です。

過去の私へ

お疲れ様でした。よく生き残ったと思います。
あなたは半年後10年分のカタログとデータの突き合わせを一人でします。
骨の折れる作業ですが、あなたの嫌いな作業ではありません。頑張ってください。

つたない文章ですがこれでこの仕事を成仏させたいと思います、ありがとうございました。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?