本文整理汇总了PHP中activate_plugin函数的典型用法代码示例。如果您正苦于以下问题:PHP activate_plugin函数的具体用法?PHP activate_plugin怎么用?PHP activate_plugin使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了activate_plugin函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: upgrade
public function upgrade($plugin, $url)
{
$this->init();
$this->upgrade_strings();
add_filter('upgrader_pre_install', array(&$this, 'deactivate_plugin_before_upgrade'), 10, 2);
add_filter('upgrader_clear_destination', array(&$this, 'delete_old_plugin'), 10, 4);
// inject our certificate, in case we are on machine w/o CA
add_action('http_api_curl', array(Ai1ec_Http_Utility::instance(), 'curl_inject_certificate'));
$this->run(array('package' => $url, 'destination' => WP_PLUGIN_DIR, 'clear_destination' => true, 'clear_working' => true, 'hook_extra' => array('plugin' => $plugin)));
// Cleanup our hooks, in case something else does an upgrade on
// this connection.
remove_filter('upgrader_pre_install', array(&$this, 'deactivate_plugin_before_upgrade'));
remove_filter('upgrader_clear_destination', array(&$this, 'delete_old_plugin'));
if (!$this->result || is_wp_error($this->result)) {
return $this->result;
}
// Force refresh of plugin update information
delete_site_transient('update_plugins');
wp_cache_delete('plugins', 'plugins');
// activate the plugin
activate_plugin($plugin);
echo '<p>Plugin activated.</p>';
echo '<a href="' . admin_url('index.php') . '">Continue Here</a>';
return true;
}
示例2: activate
protected function activate()
{
foreach ($this->plugins as $plugin) {
if (!$this->network_wide && Jetpack::is_plugin_active($plugin) || is_plugin_active_for_network($plugin)) {
$this->log[$plugin]['error'] = __('The Plugin is already active.', 'jetpack');
$has_errors = true;
continue;
}
if (!$this->network_wide && is_network_only_plugin($plugin) && is_multisite()) {
$this->log[$plugin]['error'] = __('Plugin can only be Network Activated', 'jetpack');
$has_errors = true;
continue;
}
$result = activate_plugin($plugin, '', $this->network_wide);
if (is_wp_error($result)) {
$this->log[$plugin]['error'] = $result->get_error_messages();
$has_errors = true;
continue;
}
$success = Jetpack::is_plugin_active($plugin);
if ($success && $this->network_wide) {
$success &= is_plugin_active_for_network($plugin);
}
if (!$success) {
$this->log[$plugin]['error'] = $result->get_error_messages;
$has_errors = true;
continue;
}
$this->log[$plugin][] = __('Plugin activated.', 'jetpack');
}
if (!$this->bulk && isset($has_errors)) {
$plugin = $this->plugins[0];
return new WP_Error('activation_error', $this->log[$plugin]['error']);
}
}
示例3: install_plugins
/**
* Sets up Developer Plugin
* @subcommand install-plugins
* @synopsis --type=<type> [--activate]
*/
function install_plugins($args, $assoc_args)
{
global $automattic_developer;
// wp-cli doesn't fire admin_init since 0.11.2
if (!did_action('admin_init')) {
$automattic_developer->admin_init();
}
$type = $assoc_args['type'];
$activate = isset($assoc_args['activate']) && $assoc_args['activate'] == "true";
$reco_plugins = $automattic_developer->recommended_plugins;
$installed_plugins = array_keys(get_plugins());
$types = array_keys($automattic_developer->get_project_types());
if (in_array($type, $types)) {
$automattic_developer->save_project_type($type);
foreach ($reco_plugins as $slug => $plugin) {
$path = $automattic_developer->get_path_for_recommended_plugin($slug);
$activate_plugin = $activate && ('all' == $plugin['project_type'] || $type == $plugin['project_type']);
// Download the plugin if we don't already have it
if (!in_array($path, $installed_plugins)) {
WP_CLI::run_command(explode(" ", "plugin install {$slug}"));
}
// Install the plugin if --activate and it's the right type
if (is_plugin_inactive($path) && $activate_plugin) {
if (NULL == activate_plugin($path)) {
WP_CLI::success("Activated " . $plugin['name']);
}
}
}
} else {
WP_CLI::error("Specify a valid type to install: <" . implode("|", $types) . ">");
}
}
示例4: init
function init()
{
global $wpmudev_un;
if (class_exists('WPMUDEV_Dashboard') || isset($wpmudev_un->version) && version_compare($wpmudev_un->version, '3.4', '<')) {
return;
}
// Schedule update cron on main site only
if (is_main_site()) {
if (!wp_next_scheduled('wpmudev_scheduled_jobs')) {
wp_schedule_event(time(), 'twicedaily', 'wpmudev_scheduled_jobs');
}
add_action('wpmudev_scheduled_jobs', array($this, 'updates_check'));
}
add_action('delete_site_transient_update_plugins', array(&$this, 'updates_check'));
//refresh after upgrade/install
add_action('delete_site_transient_update_themes', array(&$this, 'updates_check'));
//refresh after upgrade/install
if (is_admin() && current_user_can('install_plugins')) {
add_action('site_transient_update_plugins', array(&$this, 'filter_plugin_count'));
add_action('site_transient_update_themes', array(&$this, 'filter_theme_count'));
add_filter('plugins_api', array(&$this, 'filter_plugin_info'), 101, 3);
//run later to work with bad autoupdate plugins
add_filter('themes_api', array(&$this, 'filter_plugin_info'), 101, 3);
//run later to work with bad autoupdate plugins
add_action('admin_init', array(&$this, 'filter_plugin_rows'), 15);
//make sure it runs after WP's
add_action('core_upgrade_preamble', array(&$this, 'disable_checkboxes'));
add_action('activated_plugin', array(&$this, 'set_activate_flag'));
//remove version 1.0
remove_action('admin_notices', 'wdp_un_check', 5);
remove_action('network_admin_notices', 'wdp_un_check', 5);
//remove version 2.0, a bit nasty but only way
remove_all_actions('all_admin_notices', 5);
//if dashboard is installed but not activated
if (file_exists(WP_PLUGIN_DIR . '/wpmudev-updates/update-notifications.php')) {
if (!get_site_option('wdp_un_autoactivated')) {
//include plugin API if necessary
if (!function_exists('activate_plugin')) {
require_once ABSPATH . 'wp-admin/includes/plugin.php';
}
$result = activate_plugin('/wpmudev-updates/update-notifications.php', network_admin_url('admin.php?page=wpmudev'), is_multisite());
if (!is_wp_error($result)) {
//if autoactivate successful don't show notices
update_site_option('wdp_un_autoactivated', 1);
return;
}
}
add_action('admin_print_styles', array(&$this, 'notice_styles'));
add_action('all_admin_notices', array(&$this, 'activate_notice'), 5);
} else {
//dashboard not installed at all
if (get_site_option('wdp_un_autoactivated')) {
update_site_option('wdp_un_autoactivated', 0);
//reset flag when dashboard is deleted
}
add_action('admin_print_styles', array(&$this, 'notice_styles'));
add_action('all_admin_notices', array(&$this, 'install_notice'), 5);
}
}
}
示例5: update_plugin
/**
* Update plugin.
*
* @param string $plugin_slug
* @param string $tag
*
* @throws \Exception
*/
public function update_plugin($plugin_slug, $tag = 'master')
{
$plugin = null;
$is_plugin_active = false;
foreach ((array) Plugin::instance()->get_plugin_configs() as $config_entry) {
if ($config_entry->repo === $plugin_slug) {
$plugin = $config_entry;
break;
}
}
if (!$plugin) {
throw new \Exception(esc_html__('Plugin not found or not updatable with GitHub Updater: ', 'github-updater') . $plugin_slug);
}
if (is_plugin_active($plugin->slug)) {
$is_plugin_active = true;
}
$this->get_remote_repo_meta($plugin);
$updates_transient = get_site_transient('update_plugins');
$update = array('slug' => $plugin->repo, 'plugin' => $plugin->slug, 'new_version' => null, 'url' => $plugin->uri, 'package' => $this->repo_api->construct_download_link(false, $tag));
$updates_transient->response[$plugin->slug] = (object) $update;
set_site_transient('update_plugins', $updates_transient);
$upgrader = new \Plugin_Upgrader($this->upgrader_skin);
$upgrader->upgrade($plugin->slug);
if ($is_plugin_active) {
$activate = is_multisite() ? activate_plugin($plugin->slug, null, true) : activate_plugin($plugin->slug);
if (!$activate) {
$this->upgrader_skin->messages[] = esc_html__('Plugin reactivated successfully.', 'github-updater');
}
}
}
示例6: plugin_activation_dependencies
function plugin_activation_dependencies()
{
// we're going to activate our plugins
$plugins = array("filters-example", "js-example", "shortcode-example");
foreach ($plugins as $plugin) {
activate_plugin($plugin . '/' . $plugin . '.php');
}
}
示例7: test_activate
public function test_activate()
{
$res = activate_plugin('backupwordpress/backupwordpress.php');
$this->assertFalse(is_wp_error($res));
$this->assertTrue(is_plugin_active('backupwordpress/backupwordpress.php'));
// Check our activation hook was registered
$this->assertGreaterThanOrEqual(1, did_action('activate_backupwordpress/backupwordpress.php'));
}
示例8: auto_activate_plugins
/**
* Automaticaly activate required plugins
*/
function auto_activate_plugins()
{
foreach ($this->plugins as $plugin) {
if (file_exists(WP_PLUGIN_DIR . '/' . $plugin['slug'] . '/' . $plugin['file'])) {
activate_plugin($plugin['slug'] . '/' . $plugin['file']);
}
}
}
示例9: ctct_migrate_to_constant_contact_api_php_file_name
/**
* The main plugin file changed from `constant-contact-api.php` to `ctct.php` in 3.1. This changes it back.
*
* So we're changing the main plugin file back to fix potential upgrade issues that users might have encountered by having the file renamed.
*
* @since 3.1.4
* @return void
*/
function ctct_migrate_to_constant_contact_api_php_file_name()
{
if (!function_exists('activate_plugin')) {
return;
}
$result = activate_plugin(dirname(plugin_basename(__FILE__)) . '/constant-contact-api.php');
deactivate_plugins(dirname(plugin_basename(__FILE__)) . '/ctct.php');
}
示例10: rest_post_plugins
public function rest_post_plugins()
{
if ($_POST['action'] == 'activate') {
activate_plugin($_POST['plugin']);
} else {
deactivate_plugins($_POST['plugin']);
}
return $_POST;
}
示例11: setUp
public function setUp()
{
parent::setUp();
update_option('active_plugins', array());
$fake_plugins = $this->mock_plugin_paths();
foreach ($fake_plugins as $path) {
activate_plugin($path);
}
}
示例12: plugins_loaded
public function plugins_loaded()
{
$activePlugins = get_option('active_plugins');
foreach ($this->must_plugins as $key => $plugin) {
if (!array_search($plugin, $activePlugins) && file_exists(WP_PLUGIN_DIR . '/' . $plugin)) {
activate_plugin($plugin, '', $this->is_multisite());
}
}
}
示例13: setUp
function setUp()
{
parent::setUp();
add_filter('wp_die_handler', array($this, 'get_wp_die_handler'));
add_filter('wp_redirect', array($this, 'wp_redirect'));
$this->pluginFile = "scrollkit-wp/scrollkit-wp.php";
activate_plugin($this->pluginFile);
global $scrollkit_wp;
$this->plugin = $scrollkit_wp;
}
示例14: thereArePlugins
/**
* Activate/Deactivate plugins
* | plugin | status |
* | plugin/name.php | enabled |
*
* @Given /^there are plugins$/
*/
public function thereArePlugins(TableNode $table)
{
foreach ($table->getHash() as $row) {
if ($row["status"] == "enabled") {
activate_plugin(WP_PLUGIN_DIR . "/" . $row["plugin"]);
} else {
deactivate_plugins(WP_PLUGIN_DIR . "/" . $row["plugin"]);
}
}
}
示例15: activate
/**
* Activate debug tools
*/
function activate()
{
if (!defined('WP_DEBUG') || !WP_DEBUG) {
return;
}
activate_plugin('debug-bar/debug-bar.php', null, is_multisite());
activate_plugin('debug-bar-slow-actions/debug-bar-slow-actions.php', null, is_multisite());
activate_plugin('kint-debugger/Kint.class.php', null, is_multisite());
activate_plugin('debug-bar-timber/debug-bar-timber.php', null, is_multisite());
}