/** * 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 ); } Swurfer: Bringing Adventure to Your Backyard

Swurfer: Bringing Adventure to Your Backyard

The Swurfer Experience

Swings have actually been around for life, but Swurfer takes them to a whole brand-new degree. Picture incorporating the most effective parts of a tree swing and a surf board - because that's precisely what occurred in Charleston, South Carolina when Rob Bertschy determined to create something various. The Swurfer Swingboard had not been just about going back and forth; it had to do with skyrocketing, carving through the air, and feeling like you were riding a wave - even if you were nowhere near the sea.

Ever since, Swurfer products has expanded right into a full schedule of swings and devices created for every single age and ability degree. Whether you intend to introduce a toddler to the delights of swinging or obstacle on your own to a high-flying adventure, there's something in the collection to fit the costs.

Finding the Right Swurfer for You

For the Little Ones: Swurfer Coconut & Kiwi Toddler Swings

Swings aren't just for huge youngsters. The Swurfer Coconut and Kiwi swings are made for toddlers who are just mastering exterior fun. These aren't your typical bucket swings - they're constructed with comfort in mind, including a snug layout that keeps little adventurers secure while they guide. And with weather-resistant materials, they're difficult sufficient to manage whatever the outdoors throws at them.

For the Classic Swing Lovers: Swurfer Tree Swing & Disco Swing

Not everybody wants to browse the air - some simply desire the straightforward happiness of moving. The Swurfer Tree Swing maintains it traditional with a sturdy design that fits completely in any yard. Then there's the Disco Swing, a round, disc-shaped choice that includes a spirited spin. They're both simple to mount, easy to use, and perfect for those that enjoy the traditional feel of a backyard swing.

For the Thrill-Seekers: Swurfer Board & Stand-Up Swing

Currently, if you're seeking something that makes you seem like you're capturing air on a surf board, the Swurfer Board is where it's at. Designed for standing, sitting, or kneeling, it offers you complete control over your adventure. The flexible handles add extra security, so whether you're a beginner or a pro, you can push your limits. And for those that love variety, the Stand-Up Tree Swing is another means to obtain that electrifying, ride-the-wind experience.

For the Ultimate Backyard Playground: Swurfer Skyline & Accessories

Why quit at simply one swing? The Swurfer Skyline allows you establish a whole airborne playground. This overhanging hanging system allows you to tailor your yard arrangement by attaching numerous swings, developing a journey zone that fits your room and design. And with Swurfer Tree Swing Straps, installation is a breeze - no challenging configurations, simply safe and secure, trusted fun.

What Sets Swurfer Apart?

Constructed for All Ages

Some swings are just for kids, but Swurfer swings are developed for every person. Whether you're two or twenty-two, there's a Swurfer choice that fits your dimension and skill level. The sturdy materials and strong building mean they can deal with both mild rocking and high-flying techniques.

Designed for Durability

Outdoor equipment has to withstand a lot - rainfall, sunlight, and enthusiastic play sessions. Swurfer swings are made with top quality, weather-resistant materials that take on the components. Whether it's a wood Swurfer Board or a soft-seated kid swing, each product is constructed to last.

Easy to Install

Nobody wants to invest hours trying to establish a swing. Swurfer maintains points basic with user friendly bands and clear guidelines. Whether you're hanging a swing from a tree branch or establishing a complete Skyline system, the process is straightforward and hassle-free.

Turning Your Backyard into an Adventure Zone

There's something regarding having a great swing in your yard that makes the outdoors a lot more inviting. Whether it's children giggling as they rotate on the Disco Swing, a young child getting their first taste of activity in a Coconut Swing, or an older brother or sister evaluating their balance on a Swurfer Board, the energy is contagious. It's around more than simply turning - it has to do with movement, creative thinking, and the pure happiness of being outdoors.

With Swurfer, the average yard turns into a place for adventure. It's not about simply remaining on a swing; it's regarding locating new methods to play, push limits, and appreciate the experience. And isn't that what makes outside fun truly unique?