web-dev-qa-db-ja.com

独自のプラグインを含むプラグイン(またはテーマ)?

私のテーマは独自のactionsfiltersを定義しているので、フォークする必要なしに第三者によってextendedになることができます。またはテーマのコアコードを変更します。

私はすでにwp-content/pluginsに通常の方法でインストールしてAdminパネルからアクティブにするという私のテーマに特有のプラグインをいくつか持っています。

しかし、使いやすさのために、私はmy_theme/plugins]のように、[自分自身のテーマに直接いくつかのプラグインをバンドルするしたいと思います。プラグインディレクトリ(テーマの更新機能などを壊します)。

あなたはエレガントな方法でそれをするテーマやプラグインを見ましたか?それを行うためのベストプラクティスは何ですか?

特に、私がそのようなシステムを実装することになっているならば、いくつかの質問が頭に浮かぶ。

  • wp-content/pluginsに加えて、WordPressにカスタムプラグインディレクトリを簡単に設定する方法はありますか?
  • 単純に自分の単純なプラグインアクティベーションシステムを実装するのであれば、どのようにすればいいですか?基本的な管理パネルのリストを設定し、有効化された "カスタムプラグイン"のリストを保存し、対応するPHPファイルをTheme initに含めるだけでいいのですか?

ご協力いただきありがとうございます!

EDIT: ドロップインプラグインは設計の成果物ですか および Wordpressのテーマにプラグインを追加する :今回のケースでは、プラグインはテーマなしでは意味がありません(それらはそれを拡張します)そしてそれらは同じ人/会社によって書かれています。

5
julien_c

これを行う1つの方法については、 複数のプラグインディレクトリを追加する を参照してください。

以前のプロジェクトで私は似たようなことをしましたが、私はテーマプラグインのために専用のテーマオプションページを使いました。
振り返ってみると…もう一度やらないでしょう。プラグインの更新は、あまりにも複雑で、別々のバージョン管理設定です。クライアントは、プラグインについて話しているときに、どこを見ればよいのか常に確信が持てませんでした。

そして遅かれ早かれ、テーマ1のプラグインをテーマ2のために再利用したいと思うかもしれません。

通常のプラグインディレクトリ内の1つのディレクトリに複数の(単一のファイル)プラグインをバンドルすることができます。あなたのテーマであなたはあなたの要求をチェックするために is_plugin_active() を使うことができます。

TL; DR:プラグインとテーマを分けてください。両方を混用して作業を節約することはしないでください。

3
fuxia

この点でもう一つの問題は、テーマのアドオンです。それはあなたがテーマの中に依存関係を作成することを可能にし、素晴らしい方法であなたが定義するプラグインのインストールを通して人々を導くことを取り扱います。プラグインはWPリポジトリにある必要はありません。

チェックしてみてください。 http://tgmpluginactivation.com/

1
sanchothefat

さて、私は実際に(まだ 別の質問 で)Carringtonテーマにはバンドルされたプラグインが含まれているのを見つけました。これが可能な限り最善の方法で行われているかどうかはまだわかりません。 https://wordpress.stackexchange.com/a/27533/4826

0
julien_c