WP_GET_ACTIVE_AND_VALID_PLUGINS() │ WP 3.0.0
Функция wp_get_active_and_valid_plugins()
позволяет получить массив активных и действительных файлов плагинов на вашем сайте WordPress.
Важно знать
- Во время обновления или установки WordPress функция не возвращает плагины.
- По умолчанию плагины находятся в папке
wp-content/plugins
. Если вы хотите изменить папку для плагинов, вы можете задать параметрыWP_PLUGIN_DIR
иWP_PLUGIN_URL
в файлеwp-config.php
. - Эта функция предназначена для внутреннего использования, поэтому не рекомендуется использовать её в вашем коде.
Использует:
validate_file()
get_option()
Нет хуков.
Возвращаемое значение
Функция возвращает массив строк, где каждая строка — это путь к файлу плагина относительно директории плагинов.
Применение
Чтобы использовать эту функцию, просто вызовите её:
wp_get_active_and_valid_plugins();
Пример
Вот пример того, как работает функция:
$list = wp_get_active_and_valid_plugins();
print_r($list);
Ожидаемый результат:
Array (
[0] => F:serverwwwexample.com/wp-content/plugins/query-monitor/query-monitor.php
[1] => F:serverwwwexample.com/wp-content/plugins/advanced-custom-fields-pro/acf.php
[2] => F:serverwwwexample.com/wp-content/plugins/akismet/akismet.php
[3] => F:serverwwwexample.com/wp-content/plugins/crypto-currencies-live-charts/crypto-currencies-live-charts.php
[4] => F:serverwwwexample.com/wp-content/plugins/cryptocurrency-reviews/cryptocurrency-reviews.php
[5] => F:serverwwwexample.com/wp-content/plugins/cyr3lat/cyr-to-lat.php
[6] => F:serverwwwexample.com/wp-content/plugins/democracy-poll/democracy.php
[7] => F:serverwwwexample.com/wp-content/plugins/font-awesome-4-menus/n9m-font-awesome-4.php
[8] => F:serverwwwexample.com/wp-content/plugins/image-watermark/image-watermark.php
[9] => F:serverwwwexample.com/wp-content/plugins/luckywp-scripts-control/luckywp-scripts-control.php
[10] => F:serverwwwexample.com/wp-content/plugins/profunctions/profunctions.php
[11] => F:serverwwwexample.com/wp-content/plugins/tablepress/tablepress.php
[12] => F:serverwwwexample.com/wp-content/plugins/widget-logic/widget_logic.php
[13] => F:serverwwwexample.com/wp-content/plugins/wp-subscribe/wp-subscribe.php
)
Изменения
- Начиная с версии 3.0.0, функция была добавлена в WordPress.
Код функции
Вот как выглядит код функции в файле wp-includes/load.php
:
function wp_get_active_and_valid_plugins() {
$plugins = array();
$active_plugins = (array) get_option( 'active_plugins', array() );
// Проверяем наличие файла my-hacks.php, если эта опция включена
if ( get_option( 'hack_file' ) && file_exists( ABSPATH . 'my-hacks.php' ) ) {
_deprecated_file( 'my-hacks.php', '1.5.0' );
array_unshift( $plugins, ABSPATH . 'my-hacks.php' );
}
if ( empty( $active_plugins ) || wp_installing() ) {
return $plugins;
}
$network_plugins = is_multisite() ? wp_get_active_network_plugins() : false;
foreach ( $active_plugins as $plugin ) {
if ( ! validate_file( $plugin )
&& str_ends_with( $plugin, '.php' )
&& file_exists( WP_PLUGIN_DIR . '/' . $plugin )
&& ( ! $network_plugins || ! in_array( WP_PLUGIN_DIR . '/' . $plugin, $network_plugins, true ) )
) {
$plugins[] = WP_PLUGIN_DIR . '/' . $plugin;
}
}
if ( wp_is_recovery_mode() ) {
$plugins = wp_skip_paused_plugins( $plugins );
}
return $plugins;
}
Похожие функции
Некоторые функции, связанные с плагинами:
activate_plugins()
deactivate_plugins()
get_plugin_data()
get_plugins()
is_plugin_active()
plugin_basename()
validate_plugin_requirements()
Функции, связанные с хуками и плагинами:
add_screen_option()
content_url()
get_file_data()
plugin_dir_path()
plugin_dir_url()
plugins_url()
register_activation_hook()
register_deactivation_hook()
register_uninstall_hook()
Эта информация поможет вам лучше понять, как использовать и взаимодействовать с плагинами в WordPress.