私はmingleプラグインとmingle-forumプラグインを使用しています。
これら2つのプラグインがアクティブになっている場合にのみ私のサイトに特定の部分を表示したいどうすればこれを解決できますか?
<?php if ( is_plugin_active('mingle-forum') ) { ?>
<div id="login"><?php include (TEMPLATEPATH . '/inc/userlogin.php' ); ?></div>
<?php } ?>
これはphpエラーを投げます。未定義の関数is_plugin_activeを呼び出す
何がおかしいのですか?
更新:
<?php if ( plugin_active('plugin-directory/mingle-forum/wpf-main.php') ) { ?>
<div id="login"><?php include (TEMPLATEPATH . '/inc/userlogin.php' ); ?></div>
<?php } ?>
この機能はwp-admin/includes/plugin.phpにありますので、私はそれがテーマに含まれていないと思います。
あなたはそれをrequire
するか、単にそれ自身のバージョンを作ることができます - ここを見てください: http://wordpress.org/support/topic/is_plugin_active
更新しました:
プラグインがアクティブかどうかを確認することもできます。
$pluginList = get_option( 'active_plugins' );
$plugin = 'PLUGIN_DIR/FILE_NAME.php';
if ( in_array( $plugin , $pluginList ) ) {
// Plugin 'mg-post-contributors' is Active
}
簡単にするために以下のコードも試してください
if ( is_plugin_active( 'PLUGIN_DIR/FILE_NAME.php' ) ) {
//plugin is activated
}
プラグインがアクティブかどうかを確認する方法は2つあります。
プラグインがクラスを持っているなら、あなたは以下のようにチェックすることができます -
if (class_exists('YITH_Woocompare_Frontend'))
{
echo 'your code';
}
上記のクラスはYITH WooCommerce Compareプラグインに関連しています。上記のコードでクラスが存在するかどうかをチェックすると、括弧内のコードだけが実行されます。