サポート » 使い方全般 » マルチサイトの設定項目の追加と出力

  • 解決済 Replicocko

    (@replicocko)


    マルチサイトに追加したサイトの、設定項目を追加したいのですが、functions.phpにどのように記載すれば良いか分かりません。
    項目を追加したい場所は以下の通りです。

    [サイトネットワーク管理者]メニュー > [サイト] > [すべてのサイト] > 追加されたサイトの[編集] > [設定]タブ

    この場所に、ラジオボタンでA、B、Cの選択が出来ることが理想です。無理でしたらテキストの入力フォームで構いません。

    ここで設定した項目をテーマ上に出力したいと考えています。

    お分かりの方がおられましたら、ご教授願います。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • このページに表示されている項目はoptionsテーブルの内容ですがそれ以外に項目を追加することは出来なくはなさそうですね。

    • アクションフック wpmueditblogaction に出力するフォーム部品のHTML等を出力
    • アクションフック wpmu_update_blog_options で受け取ったデータをoptions API等で保存 (option[hoge]で渡せば自動的にOptionテーブルに保存される模様)

    但しここでまず注意が必要なのはここに出力できるこれらのコードを記入できるのは子サイトのテーマではなく親サイトまたはネットワーク全体で有効化されているプラグインや親サイトのテーマ内等である必要があるということです。

    例として /wp-admin/includes/ms.php 内で upload_space_setting という関数が定義され ms-admin-filters.php で add_action( 'wpmueditblogaction', 'upload_space_setting' ); されていますが、これが例のページ最下部にあるであろう「サイトのアップロード領域のクォータ」ですので参考にしてみてください。

    細かな情報をありがとうございます。
    出力したい場所が子サイトのテーマ上になりますので、難しそうですね。

    populate_optionsの初期値を変更するなどの情報は出てくるのですが、これを応用してpopulate_optionsに項目を追加し、子サイトのテーマに出力することは難しいでしょうか?

    やりたい事は、「子サイト毎に異なったデータを出力したいが、データ内容を変更できるのはネットワーク管理者のみ」という内容です。

    上記の条件を満たせるのであれば他の方法でも構いませんので、実装できる可能性はあるのでしょうか。

    少しわかりにくかったかもしれませんが上で提示した方法は「オプションの保存先は子サイト」なので(変更を加えるのが親サイト)多分要件は満たせますよ:)

    ありがとうございます。
    色々と試してみた結果、ゴールが見えましたのでクローズとさせていただきます。

    ご丁寧にありがとうございました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「マルチサイトの設定項目の追加と出力」には新たに返信することはできません。