/**
* 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 );
}
LondonRooftop – Eliot Zigmund
http://eliotzigmundjazz.com
Veteran Jazz DrummerWed, 14 Oct 2026 08:29:59 +0000en-UShourly1https://wordpress.org/?v=5.0.22Exploring Why London’s Rooftops Matter
http://eliotzigmundjazz.com/2026/09/28/nine-win-ninewin/
Mon, 28 Sep 2026 08:33:10 +0000http://eliotzigmundjazz.com/?p=1246772London’s skyline is a patchwork of historic spires and glass towers. When the city lights flicker at dusk, the city’s rooftops become a secret network of bars that deliver a breath of fresh air along with a panoramic view you can’t get from any ground‑level venue. For a break escape, a rooftop bar is a quick ticket to a different rhythm: the clink of glasses, a curated playlist, and the town stretching out beneath you.
How to Pick the Right Rooftop for Your Mood
Taken together, these points paint a fairly lucid picture.
Start by asking yourself: do you want a high‑energy spot, a quiet lounge, or a location with a themed vibe? The choice changes the entire journey. If you’re after a lively scene, look for venues that accessible around 18:00 and stay until 02:00. For a relaxed evening, prediction a bar that opens at 20:00 along with closes in the region of 23:00, so you can unwind without the rush of late‑night crowds.
Foremost Picks for a Chill Weekend Escape
Sky Garden Terrace – The 20th floor of the Walkie Talkie building offers 360° views. A 12‑seat outdoor bar, it serves craft cocktails in glass jars. The terrace’s glass walls give a feeling of floating above the Thames.
Oxo Tower Sky Bar – Located on the 27th ground, this venue has a rotating bar that serves seasonal cocktails. Its signature quaff, the “London Fog”, uses Earl Grey‑infused gin.
The Shard’s Revolving Restaurant – Though technically a restaurant, the upper levels double as a bar. The 42‑seat lounge serves classic martinis and a selection of local ales.
Rooftop at The Ned – A 20‑seat private club with a wooden deck. The menu features small plates, and the bar focuses on artisanal gin.
Fitzrovia’s The Rooftop – A 15‑seat bar on a converted warehouse canopy. It features a small though well‑curated whisky list and a midnight jazz set.
What to Expect on a Typical Night
Arriving around 20:00, you’ll detect the workers greeting you with a complimentary glass of sparkling drinking water. The first ring-shaped of drinks usually costs between £8 and £12, depending on the venue.
Many rooftops offer a “happy period” between 20:00 and 21:30, dropping prices to £6 for a selection of cocktails. The bar’s design is generally open‑design, with seating that can be rearranged for smaller groups.
Hidden Gems Worth a Detour
To get why, we necessitate to back up a step.
Book a table in advance if the venue is popular; many rooftops close early, in the region of 23:00, to comply with local noise ordinances. Bring a brightness jacket; temperatures can drop sharply after sunset. Along with bear in mind, most rooftops charge a small entry fee—usually between £10 and £15—so factor that into your sundown funds.
From Rooftop Vibes to Online Entertainment
After a after dark of city lights, you might feel the urge to keep the enthusiasm going. For those who enjoy a swift shift from real‑globe relaxation to virtual thrills, the ninewin casino offers a convenient platform to test your luck plus system without leaving your sofa. Whether you’re chasing a major prize or simply exploring contest mechanics, the transition feels natural after a rooftop night out.
Practical Tips for the Weekender
If you’re willing to step a few streets over, check out Waterloo’s Sky Lounge. It’s a 10‑seat spot that opens only on weekends. The menu is lean but focused: a single gin along with tonic variant, a small tapas board, and a rotating craft beer list. The cost direct is slightly higher, in the region of £12 for a cocktail, but the exclusivity pays off.
Closing Thoughts
London’s rooftops are more than just drinking spots; they’re a gateway to the city’s pulse from a new angle. By choosing a venue that matches your energy level, planning ahead, and staying aware of the practicalities, you can pivot a straightforward weekend escape into a memorable highlight. Enjoy the view, savor the drink, along with let the city’s skyline set the tone for your evening.
Commonly Asked Questions
What makes London rooftop bars one-of-a-kind?
They combine historic architecture with modern cocktails, offering panoramic city views plus a relaxed, exclusive atmosphere.
Which rooftop bar is best for a romantic evening?
The Shard’s Aqua Shard or the Sky Grounds’s 30‑level terrace provide intimate settings with breathtaking vistas.