プラグインがアクティブかどうかを識別する方法は複数あります( こちらが1つです) しかし、特定のJetPackコンポーネントがアクティブであるかどうかを識別する方法は、たとえば Photon などです。
Jetpack Trunkに新しい機能を追加しました。次のリリースで有効になるはずですJetpack::is_module_active()
-
http://plugins.trac.wordpress.org/changeset/716884
それからあなたはただ呼ぶことができます:
if(class_exists( 'Jetpack')&& Jetpack :: is_module_active( 'contact-form')){}
少なくとも、次のバージョンがリリースされれば、ユーザーはJetpackをアップデートします。 :)後方互換性を維持したい場合は、次のようにします。
if(class_exists( 'Jetpack')&& in_array( 'contact-form'、Jetpack :: get_active_modules()){}
これはオプションを直接問い合わせるよりも少し厄介な方法です。
オプション値jetpack_active_modules
を確認しています。
Wp_optionsでphoton
を検索すると、option_name
が見つかりました。
以下は管理者通知としてオプションを表示します。
add_action( 'admin_notices', 'wpse_75103_active_jetpack_modules' );
function wpse_75103_active_jetpack_modules()
{
if( !current_user_can( 'delete_users' ) )
return;
$jetp = get_option( 'jetpack_active_modules' );
$photon_active = ( in_array( 'photon', $jetp ) ) ? 'is' : 'is not';
echo '<h1>Photon ' . $photon_active . ' active</h1>';
echo '<h2>All JetPack Options</h2>';
echo '<pre>' . print_r( $jetp, true ) . '</pre>';
}
以下は、すべてのモジュールをアクティブにした結果です。
キー番号はモジュールが有効化された順番になっています。参照として使用しないでください。
( ローカルホストインストールでは )
Array
(
[0] => vaultpress
[1] => photon
[3] => notes
[5] => publicize
[7] => stats
[9] => comments
[11] => subscriptions
[13] => post-by-email
[15] => carousel
[17] => sharedaddy
[19] => after-the-deadline
[21] => infinite-scroll
[23] => enhanced-distribution
[25] => json-api
[27] => mobile-Push
[29] => widgets
[31] => latex
[33] => gravatar-hovercards
[35] => contact-form
[37] => minileven
[39] => custom-css
[41] => shortcodes
[43] => shortlinks
)