功能
激活多个插件。
格式
activate_plugins( string|string[] $plugins, string $redirect = '', bool $network_wide = false, bool $silent = false )
描述
如果 activate_plugins()
函数返回了 WP_Error
错误,这并不意味着其中一个插件本身出错了,而是意味着一个或者多个插件的文件路径是无效的。
只要有一个插件的启动出现错误,activate_plugins()
的动作就会立刻终止。
参数
$plugins (string|string[]) (必须参数) 要启动的一个插件或多个插件组成的列表。 $redirect (string) (可选参数) 激活成功之后重定向到的页面。 默认值:'' $network_wide (bool) (可选参数) 是否激活多站点模式下位于网络上所有站点中的相关插件。 默认值:false $silent (bool) (可选参数) 阻止调用激活钩子。 默认值:false
返回值
(bool|WP_Error) 如果全部激活完成则返回 `True`, 如果激活过程中出现错误则返回 `WP_Error`.
源码
代码所在文件:
wp-admin/includes/plugin.php
相关代码片段:
function activate_plugins( $plugins, $redirect = '', $network_wide = false, $silent = false ) { if ( ! is_array( $plugins ) ) { $plugins = array( $plugins ); } $errors = array(); foreach ( $plugins as $plugin ) { if ( ! empty( $redirect ) ) { $redirect = add_query_arg( 'plugin', $plugin, $redirect ); } $result = activate_plugin( $plugin, $redirect, $network_wide, $silent ); if ( is_wp_error( $result ) ) { $errors[ $plugin ] = $result; } } if ( ! empty( $errors ) ) { return new WP_Error( 'plugins_invalid', __( 'One of the plugins is invalid.' ), $errors ); } return true; }
变更日志
- 自 WordPress 2.6.0 开始引入。
参考链接:https://developer.wordpress.org/reference/functions/activate_plugins/