サポート » プラグイン » マルチサイトでプラグインの設定を共有

  • 解決済 usausakura

    (@usausakura)


    現在ワードプレスをマルチサイト化し、求人ポータルサイトを作っています。

    (1)サブディレクトリ型でマルチサイト化
     ↓
    (2)求人を掲載するユーザー(企業)ごとにサイトを作成
       テーマ・使用プラグインは統一
     ↓
    (3)ユーザー(企業)がサイトにログインし、求人掲載・応募管理

    という仕組みにしようと思っています。

    (2)まではすぐにできたのですが、(3)を実装しようとした時に躓いてしまいました。

    サイトを追加すると、初期状態のプラグインが入っていますよね。
    【サイトネットワーク管理者】で編集したプラグインの内容(求人掲載の入力項目など)を
    全サイトに反映させたいのですが
    それは不可能なのでしょうか?

    サイト追加のたびに手作業で項目追加するのは、厳しいので…。
    もしプラグインの内容を反映させるのが不可能なら、他に良い方法があれば、アドバイスをいただきたいです。

    ちなみに求人掲載・応募管理にはJob Managerというプラグインを使用しています。

    よろしくお願いいたします。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • モデレーター jim912

    (@jim912)

    プラグインの設定情報は、options テーブルに保存されていることがほとんどです。

    私の場合ですが、プラグインの設定情報がどこに保存されているかを洗い出し、マルチサイトでのサイト追加時に、自動的にその設定情報がデータベースに保存されるようにしています。

    Job Managerがどのような構造になっているか分かりませんが、他のテーブルに保存している場合などは、wp_install_defaults 関数の定義にて幅広く対応することも可能です。

    WordPressのマルチサイト利用時に新規サイト作成時の設定・初期データを変更する

    トピック投稿者 usausakura

    (@usausakura)

    jim912様

    はじめまして、ご回答ありがとうございます。
    大変参考になったのですが、思うようにデータが反映されません。

    Job Managerの設定情報はoptionsに入っていました。
    option_nameカラムに「jobman_option」という名前で。
    初期データとして反映したいデータはoption_valueカラムにlongtext型で入っていました。

    >wp_install_defaults 関数の定義にて…
    参考URLを拝見しながら以下のコードを書き
    プラグインとしてアップロードし、ネットワークで有効化しました。

    function wp_install_defaults($user_id) {
        global $wpdb;
      $job_value ='a:37:s:14:"app_cat_select";s:0:"";s:14:"app_job_select";s:0:"";s:22:"application_email_from";i:4;s:29:"app...以下略';
      $wpdb->insert( $wpdb->options, array('option_name' => 'jobman_options','option_id' => 361, 'option_value' => $job_value) );

    しかし、子サイトのジョブマネージャーには何も反映されません。

    ちなみに同じプラグインに、こちらのコードを書いてみたら子サイトに反映されました。
    http://ja.forums.wordpress.org/topic/6914?replies=3#post-28493

    Job Managerの構造上、私のやろうとしていることは無理なのでしょうか。

    トピック投稿者 usausakura

    (@usausakura)

    いろいろ試した結果、プラグインの設定内容を直接書き直す方法で解決しました!
    今回はじめてプラグインを触り、たいへん勉強になりました。

    jim912さんに教えていただいた方法は、他のプラグインで試すとうまくいきました!
    今後も役立てていきたいと思います。ありがとうございました。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「マルチサイトでプラグインの設定を共有」には新たに返信することはできません。