我正在创建一个需要高级自定义字段的插件,有关于如何添加它的文档here,代码如下:
// 1. customize ACF path
function my_acf_settings_path( $path ) {
// update path
$path = plugin_dir_path( __FILE__ ) . 'lib/advanced-custom-fields/';
// return
return $path;
}
add_filter('acf/settings/path', 'my_acf_settings_path');
// 2. customize ACF dir
function my_acf_settings_dir( $dir ) {
// update path
$dir = plugin_dir_url( __FILE__ ) . 'lib/advanced-custom-fields/';
// return
return $dir;
}
add_filter('acf/settings/dir', 'my_acf_settings_dir');
// 3. Hide ACF field group menu item
add_filter('acf/settings/show_admin', '__return_false');
/**
* Set Advanced Custom Fields to Lite mode, so it does not appear
* in the WordPress Administration Menu
*/
define( 'ACF_LITE', true );
// 4. Include ACF
include_once( plugin_dir_path( __FILE__ ) . 'lib/advanced-custom-fields/acf.php' );
问题是我需要检查ACF插件是否已经存在,然后才将其包含在我的插件中 - 否则会发生冲突。我该怎么做:
1)检查插件是否已存在于Wordpress中(有基本版和专业版)。
2)如果它存在然后使用该版本,如果它不使用我的插件中的版本(即使用上面的代码)。
答案 0 :(得分:1)
我认为is_plugin_active()
符合要求,因为您只关心它是否已安装和:
<?php
if ( is_plugin_active('advanced-custom-fields') ) {
// do something
}
?>
如果您需要检查它是否已安装(无论是否激活),您还可以check if it's inactive。
答案 1 :(得分:-1)
您可以使用
检查插件是否已安装if( class_exists('acf'){
//acf plugin already exist;
//do something.
}