Chinaunix首页 | 论坛 | 博客
  • 博客访问: 343549
  • 博文数量: 71
  • 博客积分: 2129
  • 博客等级: 大尉
  • 技术积分: 835
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-18 16:03
文章分类

全部博文(71)

文章存档

2014年(22)

2013年(18)

2012年(24)

2010年(7)

我的朋友

分类: PHP

2014-01-02 11:12:26

在你的Wordpress主题的functions.php中的适当位置添加以下代码:

    //加载推荐插件配置文件   
    require_once('inc/plugins-config.php');  

然后在你的主题的根目录下,如果没有一个叫inc的文件夹,那么久新建一个吧!将你在本文结尾处下载到的压缩包中的文件plugins-config.php和文件夹tools一起放在这个文件夹下。

在plugins-config.php文件中,你可以对你推荐的插件进行配置,示例如下:

        require_once('tools/class-tgm-plugin-activation.php');   
      
    function slnet_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(   
      
            // This is an example of how to include a plugin pre-packaged with a theme   
            array(   
                'name'                  => 'WP Retina Plugin', // The plugin name   
                'slug'                  => 'wp-retina-2x', // The plugin slug (typically the folder name)   
                'source'                => get_template_directory_uri() . '/recommended_plugins/wp-retina-2x.1.6.2.zip', // The plugin source   
                'required'              => true, // If false, the plugin is only 'recommended' instead of required   
                'version'               => '', // E.g. 1.0.0. If set, the active plugin must be this version or higher, otherwise a notice is presented   
                'force_activation'      => true, // If true, plugin is activated upon theme activation and cannot be deactivated until theme switch   
                'force_deactivation'    => false, // If true, plugin is deactivated upon theme switch, useful for theme-specific plugins   
                'external_url'          => '', // If set, overrides default API URL and points to an external URL   
            ),   
            // This is an example of how to include a plugin pre-packaged with a theme   
            array(   
                'name'                  => 'LayerSlider Plugin', // The plugin name   
                'slug'                  => 'LayerSlider', // The plugin slug (typically the folder name)   
                'source'                => get_template_directory_uri() . '/recommended_plugins/layersliderwp-4.6.0.installable.zip', // The plugin source   
                'required'              => false, // If false, the plugin is only 'recommended' instead of required   
                'version'               => '', // E.g. 1.0.0. If set, the active plugin must be this version or higher, otherwise a notice is presented   
                'force_activation'      => false, // If true, plugin is activated upon theme activation and cannot be deactivated until theme switch   
                'force_deactivation'    => false, // If true, plugin is deactivated upon theme switch, useful for theme-specific plugins   
                'external_url'          => '', // If set, overrides default API URL and points to an external URL   
            ),   
            array(   
                'name'                  => 'Revolution Slider Plugin', // The plugin name   
                'slug'                  => 'revslider', // The plugin slug (typically the folder name)   
                'source'                => get_template_directory_uri() . '/recommended_plugins/revslider3.0.95.zip', // The plugin source   
                'required'              => false, // If false, the plugin is only 'recommended' instead of required   
                'version'               => '', // E.g. 1.0.0. If set, the active plugin must be this version or higher, otherwise a notice is presented   
                'force_activation'      => false, // If true, plugin is activated upon theme activation and cannot be deactivated until theme switch   
                'force_deactivation'    => false, // If true, plugin is deactivated upon theme switch, useful for theme-specific plugins   
                'external_url'          => '', // If set, overrides default API URL and points to an external URL   
            ),   
            array(   
                'name'                  => 'Visual Composer Plugin', // The plugin name   
                'slug'                  => 'js_composer', // The plugin slug (typically the folder name)   
                'source'                => get_template_directory_uri() . '/recommended_plugins/js_composer3.6.11.zip', // The plugin source   
                'required'              => false, // If false, the plugin is only 'recommended' instead of required   
                'version'               => '', // E.g. 1.0.0. If set, the active plugin must be this version or higher, otherwise a notice is presented   
                'force_activation'      => false, // If true, plugin is activated upon theme activation and cannot be deactivated until theme switch   
                'force_deactivation'    => false, // If true, plugin is deactivated upon theme switch, useful for theme-specific plugins   
                'external_url'          => '', // If set, overrides default API URL and points to an external URL   
            )   
               
        );   
      
        // Change this to your theme text domain, used for internationalising strings   
        $theme_text_domain = 'slnet';   
      
        /**
         * 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(   
            'domain'            => $theme_text_domain,          // Text domain - likely want to be the same as your theme.   
            'default_path'      => '',                          // Default absolute path to pre-packaged plugins   
            'parent_menu_slug'  => 'themes.php',                // Default parent menu slug   
            'parent_url_slug'   => 'themes.php',                // Default parent URL slug   
            'menu'              => 'install-required-plugins',  // Menu slug   
            'has_notices'       => true,                        // Show admin notices or not   
            'is_automatic'      => true,                        // Automatically activate plugins after installation or not   
            'message'           => '',                          // Message to output right before the plugins table   
            'strings'           => array(   
                'page_title'                                => __( 'Install Required Plugins', $theme_text_domain ),   
                'menu_title'                                => __( 'Install Plugins', $theme_text_domain ),   
                'installing'                                => __( 'Installing Plugin: %s', $theme_text_domain ), // %1$s = plugin name   
                'oops'                                      => __( 'Something went wrong with the plugin API.', $theme_text_domain ),   
                '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( 'Activate installed plugin', 'Activate installed plugins' ),   
                'return'                                    => __( 'Return to Required Plugins Installer', $theme_text_domain ),   
                'plugin_activated'                          => __( 'Plugin activated successfully.', $theme_text_domain ),   
                'complete'                                  => __( 'All plugins installed and activated successfully. %s', $theme_text_domain ), // %1$s = dashboard link   
                'nag_type'                                  => 'updated' // Determines admin notice type - can only be 'updated' or 'error'   
            )   
        );   
      
        tgmpa( $plugins, $config );   
      
    }   
    slnet_register_required_plugins();   

这么方便的功能是借助一个由Thomas Griffin和 Gary Jones开发的Wordpress主题用的库TGM Plugin Activation实现的!
阅读(2300) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~