2015-06-09 367 views
1

我是新來的wordpress。我想在我激活一個特定的wordpress主題時自動安裝wordpress插件,當我停用那個主題時,該插件也應該被停用。我怎樣才能做到這一點?提前致謝。如何在激活wordpress主題時自動安裝wordpress插件?

+0

改變試試這個:HTTP: //tgmpluginactivation.com/ – Darian

+0

我已經試過這個,但是我不知道到底在哪裏放置了代碼和文件。 –

+0

有一個安裝指南:http://tgmpluginactivation.com/installation/ – Darian

回答

2

可以激活插件與http://tgmpluginactivation.com/網站

下載把裏面的主題後,並把這個代碼function.php以下僅僅是例子插件代碼,你可以用你的

require_once dirname(__FILE__) . '/class-tgm-plugin-activation.php'; 

add_action('tgmpa_register', 'my_theme_register_required_plugins'); 
/** 
* Register the required plugins for this theme. 
* 
* In this example, we register two plugins - one included with the TGMPA library 
* and one from the .org repo. 
* 
* The variable passed to tgmpa_register_plugins() should be an array of plugin 
* arrays. 
* 
* This function is hooked into tgmpa_init, which is fired within the 
* TGM_Plugin_Activation class constructor. 
*/ 
function my_theme_register_required_plugins() { 

    /** 
    * Array of plugin arrays. Required keys are name and slug. 
    * If the source is NOT from the .org repo, then source is also required. 
    */ 
    $plugins = array(

     // WooCommerce 
     array(
      'name'  => 'Page Builder by SiteOrigin', 
      'slug'  => 'siteorigin-panels', 
      'required' => true, 
      'force_activation' => true, 
      'force_deactivation' => true 
     ), 

     // WooCommerce 
     array(
      'name'  => 'SiteOrigin Widgets Bundle', 
      'slug'  => 'so-widgets-bundle', 
      'required' => true, 
      'force_activation' => true, 
      'force_deactivation' => true 
     ) 


    ); 

    /** 
    * Array of configuration settings. Amend each line as needed. 
    * If you want the default strings to be available under your own theme domain, 
    * leave the strings uncommented. 
    * Some of the strings are added into a sprintf, so see the comments at the 
    * end of each line for what each argument will be. 
    */ 
    $config = array(
     'default_path' => '',      // Default absolute path to pre-packaged plugins. 
     'menu'   => 'tgmpa-install-plugins', // Menu slug. 
     'has_notices' => true,     // Show admin notices or not. 
     'dismissable' => true,     // If false, a user cannot dismiss the nag message. 
     'dismiss_msg' => '',      // If 'dismissable' is false, this message will be output at top of nag. 
     'is_automatic' => false,     // Automatically activate plugins after installation or not. 
     'message'  => '',      // Message to output right before the plugins table. 
     'strings'  => array(
      'page_title'      => __('Install Required Plugins', 'tgmpa'), 
      'menu_title'      => __('Install Plugins', 'tgmpa'), 
      'installing'      => __('Installing Plugin: %s', 'tgmpa'), // %s = plugin name. 
      'oops'       => __('Something went wrong with the plugin API.', 'tgmpa'), 
      'notice_can_install_required'  => _n_noop('This theme requires the following plugin: %1$s.', 'This theme requires the following plugins: %1$s.'), // %1$s = plugin name(s). 
      'notice_can_install_recommended' => _n_noop('This theme recommends the following plugin: %1$s.', 'This theme recommends the following plugins: %1$s.'), // %1$s = plugin name(s). 
      'notice_cannot_install'   => _n_noop('Sorry, but you do not have the correct permissions to install the %s plugin. Contact the administrator of this site for help on getting the plugin installed.', 'Sorry, but you do not have the correct permissions to install the %s plugins. Contact the administrator of this site for help on getting the plugins installed.'), // %1$s = plugin name(s). 
      'notice_can_activate_required' => _n_noop('The following required plugin is currently inactive: %1$s.', 'The following required plugins are currently inactive: %1$s.'), // %1$s = plugin name(s). 
      'notice_can_activate_recommended' => _n_noop('The following recommended plugin is currently inactive: %1$s.', 'The following recommended plugins are currently inactive: %1$s.'), // %1$s = plugin name(s). 
      'notice_cannot_activate'   => _n_noop('Sorry, but you do not have the correct permissions to activate the %s plugin. Contact the administrator of this site for help on getting the plugin activated.', 'Sorry, but you do not have the correct permissions to activate the %s plugins. Contact the administrator of this site for help on getting the plugins activated.'), // %1$s = plugin name(s). 
      'notice_ask_to_update'   => _n_noop('The following plugin needs to be updated to its latest version to ensure maximum compatibility with this theme: %1$s.', 'The following plugins need to be updated to their latest version to ensure maximum compatibility with this theme: %1$s.'), // %1$s = plugin name(s). 
      'notice_cannot_update'   => _n_noop('Sorry, but you do not have the correct permissions to update the %s plugin. Contact the administrator of this site for help on getting the plugin updated.', 'Sorry, but you do not have the correct permissions to update the %s plugins. Contact the administrator of this site for help on getting the plugins updated.'), // %1$s = plugin name(s). 
      'install_link'     => _n_noop('Begin installing plugin', 'Begin installing plugins'), 
      'activate_link'     => _n_noop('Begin activating plugin', 'Begin activating plugins'), 
      'return'       => __('Return to Required Plugins Installer', 'tgmpa'), 
      'plugin_activated'    => __('Plugin activated successfully.', 'tgmpa'), 
      'complete'      => __('All plugins installed and activated successfully. %s', 'tgmpa'), // %s = dashboard link. 
      'nag_type'      => 'updated' // Determines admin notice type - can only be 'updated', 'update-nag' or 'error'. 
     ) 
    ); 

    tgmpa($plugins, $config); 

} 
+0

我的插件zip文件位於wp-content/plugins/profilebuilder.zip中,我的插件名稱是profilebuilder。然後,我必須填寫名稱和slug數組。 –

+0

https://wordpress.org/plugins/profile-builder/ 這是你需要的插件,所以只需要把這個數組 array( 'name'=>'Profile Builder - 前端用戶註冊,登錄和編輯簡檔」, '蛞蝓'=> '輪廓助洗劑', '所需'=>真, 'force_activation'=>真, 'force_deactivation'=>真 ), – Corlax

+0

和如果源是不同的,那麼只是把它放在數組中,這是主題插件的路徑。 'source'=> get_stylesheet_directory()。 '/plugins/profilebuilder.zip', 這裏的例子: - http://tgmpluginactivation.com/configuration/ – Corlax

相關問題