Jetpack は Automattic 社が提供している WordPress 用のプラグインで, アクセス解析から問い合わせフォーム, CDN, OGP タグの設定など, 様々な機能を提供してくれます. しかし, これらの機能は他のプラグインの機能と衝突 (conflict) することも多く, プラグインが正しく動作しないことも稀にあります.
この記事では Jetpack が備えている, 機能が重複する他のプラグインとの衝突を回避する機能について紹介します.
Jetpack は OSS で GitHub 上でソースコードが公開されています. この記事ではバージョン 4.0.1 のコードをもとに紹介します.
各モジュールと衝突するプラグイン
$conflicting_plugins では Jetpack のそれぞれのモジュールについて, 衝突するプラグインのリストが定義されています. ここに定義されたプラグインが有効化されていた場合は, 衝突する Jetpack モジュールは自動的に有効化されません.
OGP・Twitter Cards
Jetpack は OGP・Twitter Cards 用のタグを挿入する機能を備えています. この機能と衝突するプラグインが有効な場合は, Jetpack 側の機能が無効化されます (OGP・Twitter Cards).
衝突するプラグインのリストはそれぞれ, $open_graph_conflicting_plugins と $twitter_cards_conflicting_plugins で定義されています.
その他
$plugins_to_deactivate にはおそらく Jetpack のモジュールのもとになったプラグインのリストが定義されています. (Jetpack のモジュールと同等の機能を持つと推測される.) ここに定義されたプラグインが有効化されていた場合は, プラグイン側を無効化して, Jetpack モジュールを有効化します.