• 解決済 umioyo

    (@umioyo)


    お世話になります。
    自分でテーマを作ろうかと思って、設定画面を試行錯誤しているところです。

    オリジナルの管理画面でカテゴリのラベルの色を指定するようなものを作ろうと思っています。
    register_settingであらかじめフィールドを10個用意し、option.phpにデータを渡すことはできました。
    ただ、カテゴリの数は固定というわけにはいかないなと思い、すでに登録されているフィールド数を先に読み込んで、+1分のフィールドを確保するような仕組みにしようと思い、一度データを全部消しましたら、option.phpを覗くと先に確保した10個分のフィールドはそのままになっていました。

    質問項目は以下です。

    • register_settingで登録したフィールドはどのように削除すればいいのでしょうか
    • 一般的にこのようなトータル数がわからない項目を設定させたい場合、フィールドの追加・削除も組むものなのでしょうか。それとも何か他に方法があるのでしょうか。
    • register_settingで登録した項目は(あたりまえですが)DBに登録されると思いますが、他のテーマなどに変えられた際にそのままなのでしょうか。
      例えば明示的に他のテーマに変えられた際に削除したり・・・といった処理をすべきでしょうか。(テーマでそのようなことができるんでしょうか。)

    初心者な質問で申し訳ないのですが、よろしくお願い致します。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • こんにちは、

    register_settingで登録したフィールドはどのように削除すればいいのでしょうか

    http://wpdocs.osdn.jp/Settings_API

    一般的にこのようなトータル数がわからない項目を設定させたい場合、フィールドの追加・削除も組むものなのでしょうか。それとも何か他に方法があるのでしょうか。

    カテゴリーの場合なら、カテゴリーのページや、投稿ページにカテゴリーの追加機能が既にあるので、テーマでカテゴリーの配色機能を追加する場合は、一般的には既に設定されているカテゴリーのリストから、表示する項目を作成して 背景とリンクカラーを指定するというのが普通なのではないかと思います。

    register_settingで登録した項目は(あたりまえですが)DBに登録されると思いますが、他のテーマなどに変えられた際にそのままなのでしょうか。

    何もしなければ、そのまま残ります。WordPressにホスティングされているようなテーマ(以下公式)では、テーマで使うoptionフィールドは、一つだけで、各種の設定内容は、一つのフィールドに、配列で保存されています。

    テーマを切り替える時に、hookを使って、そのフィールドを削除するという事が推奨されていた時期もあります。

    Options APIは、現在の公式テーマでは、使用しないで下さいというルールがあります。

    理由は、何か問題があるからダメという事ではなく、Options APIを使って、あまりにもオレオレなフレームワークを使って、レビューが追い付かないといった側面があるように思います。

    テーマカスタマイザーが十分使える機能を持つようになった事もあり、テーマカスタマイザーを使ってくださいという形で一本化したのだと思います。

    と、一般的な事はありますが、どのように自分のテーマを作るかは、@umioyo さんの自由です。

    • この返信は8年、 6ヶ月前にnobitaが編集しました。
    トピック投稿者 umioyo

    (@umioyo)

    ご丁寧にありがとうございます!
    非常に参考になりました。

    >Options APIは、現在の公式テーマでは、使用しないで下さいというルールがあります。

    こういうのはドキュメント見てもわからないことが多く・・・
    実装方法はたくさんある中でスマートで将来的に問題なく動く方法を見つけるのはなかなか至難の技です。

    またご相談させて頂くこともあると思いますのでよろしくお願いします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「オリジナル管理画面で設定数がわからない項目のフィールドの管理方法」には新たに返信することはできません。