質問: カスタムフィールドの保存方法について教えてください。 保存する値として、適切なのはどちらですか?(どんなケースでどちらが適切ですか?) 【A】カンマ区切り `apple,orange` 【B】シリアライズされた配列 `a:2:{i:0;s:5:"apple";i:1;s:6:"orange";}` 管理画面から見やすいのは【A】かと思うのですが、しかしチェックボックスの値は自動的にBの形式で保存されるので、統一感を考えれば【B】がいいのか?と悩んでいます。 また、もし【B】が良いとしたら、値が`apple`1つだけ(複数入ることはない)であってもそのようにしますか? みなさんのお考えや、一般的な使い方など、メリットデメリットがあれば教えてください。
回答: シリアライズする方で シリアライズ処理はいちいち書く必要なし WPはメタデータの関連の共通処理に シリアライズの処理が備わっているので 配列を直接入出力する処理を書いても動くようにできてます wp-includes/meta.php 単なるコンマ区切りは、値の一つにコンマが入ったらどうするの? みたいな問題があるので結構注意が必要だったり面倒です 同じフィールドのデータが文字列だったり配列だったりすると 毎度型チェックしなくちゃいけなかったり面倒なので 配列と決めたフィールドは値が一つでも配列にします