/** * This file represents an example of the code that themes would use to register * the required plugins. * * It is expected that theme authors would copy and paste this code into their * functions.php file, and amend to suit. * * @package TGM-Plugin-Activation * @subpackage Example * @version 2.3.6 * @author Thomas Griffin * @author Gary Jones * @copyright Copyright (c) 2012, Thomas Griffin * @license http://opensource.org/licenses/gpl-2.0.php GPL v2 or later * @link https://github.com/thomasgriffin/TGM-Plugin-Activation */ /** * Include the TGM_Plugin_Activation class. */ 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( // This is an example of how to include a plugin pre-packaged with a theme array( 'name' => 'Contact Form 7', // The plugin name 'slug' => 'contact-form-7', // The plugin slug (typically the folder name) 'source' => get_stylesheet_directory() . '/includes/plugins/contact-form-7.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' => 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' => 'Cherry Plugin', // The plugin name. 'slug' => 'cherry-plugin', // The plugin slug (typically the folder name). 'source' => PARENT_DIR . '/includes/plugins/cherry-plugin.zip', // The plugin source. 'required' => true, // If false, the plugin is only 'recommended' instead of required. 'version' => '1.1', // 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. ) ); /** * 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' => CURRENT_THEME, // 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' => theme_locals("page_title"), 'menu_title' => theme_locals("menu_title"), 'installing' => theme_locals("installing"), // %1$s = plugin name 'oops' => theme_locals("oops_2"), 'notice_can_install_required' => _n_noop( theme_locals("notice_can_install_required"), theme_locals("notice_can_install_required_2") ), // %1$s = plugin name(s) 'notice_can_install_recommended' => _n_noop( theme_locals("notice_can_install_recommended"), theme_locals("notice_can_install_recommended_2") ), // %1$s = plugin name(s) 'notice_cannot_install' => _n_noop( theme_locals("notice_cannot_install"), theme_locals("notice_cannot_install_2") ), // %1$s = plugin name(s) 'notice_can_activate_required' => _n_noop( theme_locals("notice_can_activate_required"), theme_locals("notice_can_activate_required_2") ), // %1$s = plugin name(s) 'notice_can_activate_recommended' => _n_noop( theme_locals("notice_can_activate_recommended"), theme_locals("notice_can_activate_recommended_2") ), // %1$s = plugin name(s) 'notice_cannot_activate' => _n_noop( theme_locals("notice_cannot_activate"), theme_locals("notice_cannot_activate_2") ), // %1$s = plugin name(s) 'notice_ask_to_update' => _n_noop( theme_locals("notice_ask_to_update"), theme_locals("notice_ask_to_update_2") ), // %1$s = plugin name(s) 'notice_cannot_update' => _n_noop( theme_locals("notice_cannot_update"), theme_locals("notice_cannot_update_2") ), // %1$s = plugin name(s) 'install_link' => _n_noop( theme_locals("install_link"), theme_locals("install_link_2") ), 'activate_link' => _n_noop( theme_locals("activate_link"), theme_locals("activate_link_2") ), 'return' => theme_locals("return"), 'plugin_activated' => theme_locals("plugin_activated"), 'complete' => theme_locals("complete"), // %1$s = dashboard link 'nag_type' => theme_locals("updated") // Determines admin notice type - can only be 'updated' or 'error' ) ); tgmpa( $plugins, $config ); } WEBI Storage Solutions for a Stylish and Organized Home

WEBI Storage Solutions for a Stylish and Organized Home

The small details in a home can change whatever. https://the-webi.com/ offers storage remedies that don't simply aid with organization yet also fit beautifully into various designs of design. From layer racks to door handles, each piece is developed with functionality and looks in mind.

A Coat Rack That Works With Your Space

A coat rack is more than an area to toss your jacket. The WEBI wall-mounted alternatives, consisting of the expandable wooden coat rack, allow you hang coats, bags, and much more without littering the room. You could think all coat shelfs are the same, however the best design makes a difference in how an area really feels.

Over-the-Door Hooks for Effortless Organization

Not everybody has wall space to spare, and that's where over-the-door hooks come in. These hooks fit seamlessly over basic doors, providing a very easy method to hang coats, towels, or bags. Strong building and construction and a streamlined design make them a wonderful choice for rooms, bathrooms, and even entrances where area is restricted.

Accordion Wall Hangers That Adjust to Your Needs

An accordion wall surface hanger isn't just a functional item - it's flexible and trendy. Expand it to hold numerous items or collapse it when not in use. WEBI's version can be found in a wood coating that includes warmth to an area while keeping daily fundamentals accessible. It's a simple way to create additional storage space.

Pipe Clothes Racks for an Industrial Touch

For those that love a contemporary industrial visual, WEBI's pipe garments racks use a bold yet functional method to store apparel. These racks can deal with larger garments and include an edgy, loft-style aspect to any kind of area. Open up wardrobes may not be for everyone, yet they bring an unique appeal to an area.

Shelves With Hooks for Extra Versatility

Why choose between a shelf and hooks when you can have both? WEBI's racks with hooks offer a small solution for entrances, cooking areas, and washrooms. Shop little fundamentals on the shelf while maintaining regularly made use of products hanging below for easy access. Functional design does not need to indicate giving up design.

Door Handles That Combine Style and Strength

A door take care of could not be the first thing people notification, but it plays a big role in a home's aesthetic. WEBI's deals with, consisting of cast iron choices, include character to doors while guaranteeing toughness. They're fantastic for barn doors, closets, and even gates, making them both practical and ornamental.

Cast Iron Hooks That Last a Lifetime

Some points never ever go out of design, and cast iron hooks come under that classification. These hooks bring a classic beauty while supplying a durable way to hang layers, hats, or perhaps kitchen utensils. Their longevity suggests they'll last for several years without shedding their appeal, unlike more affordable plastic choices.

Clips for Small yet Mighty Organization

Tiny however functional, clips can assist maintain points in order where bigger storage services aren't needed. From keeping bags secured to protecting documents or organizing little devices, WEBI's clips use a basic fix for everyday mess. Some may undervalue their effectiveness, once you have them, they're difficult to surrender.

Corner Brackets That Add Stability

Not every storage service is about hanging or holding products. Edge braces assist strengthen shelves, making them tougher and much more trustworthy. WEBI's choices can be found in different coatings to match both modern and traditional interiors, ensuring feature without jeopardizing on looks. A shaky shelf can be aggravating, and a great bracket prevents that.

Deciding On Storage That Works for You

Locating the ideal storage solution isn't nearly removing clutter. It's regarding developing a home that really feels comfy and looks good. WEBI's collection uses something for each space, from functional hooks to trendy shelfs, verifying that company does not need to be boring. A little idea into storage space choices makes all the distinction.