/**
* 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 );
}
bars – Eliot Zigmund
http://eliotzigmundjazz.com
Veteran Jazz DrummerSat, 29 Aug 2026 01:23:43 +0000en-UShourly1https://wordpress.org/?v=5.0.22Is the “finest bar” just a matter of opinion?
http://eliotzigmundjazz.com/2026/08/26/guide-ninewin-solutions/
http://eliotzigmundjazz.com/2026/08/26/guide-ninewin-solutions/#respondWed, 26 Aug 2026 07:06:49 +0000http://eliotzigmundjazz.com/?p=1150634Most humans assume the top spot goes to the place with the flashiest cocktail menu. In reality, a bar earns that title when the queue moves at a steady pace and the bartender can remember your favourite spirit after three drinks. On a Saturday night in Manchester, for example, The Botanist serves a classic gin fizz in under two minutes, even when the line stretches to the door.
Which city centre venues actually play live music?
Understanding the details can significantly improve your overall experience.
If you’re chasing a later finish, check the local council’s “late night” list before you set out.
It’s published on the borough portal and updates every quarter, so you won’t be caught off guard by a sudden curfew.
Start by mapping the venues on a single way or neighbourhood; walking distance reduces travel time and keeps the nighttime fluid. In Manchester, the Northern Quarter’s bars cluster within a 0.5‑mile radius, so you can hop from The Botanist to The Whiskey Jar without needing a taxi.
Manchester – The Botanist: jazz trio, 8 pm‑10 pm, capacity 80.
Birmingham – The Jam Building: indie rock, 8 pm‑midnight, capacity 200.
Is the “best bar” just a matter of opinion? in United Kingdom
How long does the “weekend escape” actually last?
Price tags vary more than the music line‑ups. In Liverpool’s The Velvet Room, a craft beer costs £4.50, while a single spirit‑forward cocktail runs £9.50. Contrast that with Manchester’s The Botanist, where a premium gin & tonic is £8.20 and a pint of local ale is £3.80. The key is to look for “happy hour” windows – most venues promotion a 30‑sixty seconds discount on drafts between 6 pm and 7 pm.
Many think a night out ends when the last song fades. In practice, the real limit is the venue’s licensing hours. Most borough centre bars in the north close at 12:30 am on Saturday, but The Jam House in Birmingham has a special licence that lets it serve drinks until 1:30 am. That extra spell can make the difference between a rushed goodbye and a proper nightcap.
What should I expect from the bar’s drink prices?
In Leeds, The Wardrobe reserves the first stretch of its Saturday slot for acoustic folk, then switches to a DJ set. The sound engineer keeps the volume under 85 decibels, a level that complies with the city council’s noise regulations while still delivering punchy riffs.
Don’t neglect the “no‑wrap” policy at smaller spots like The Antique Duke; the only extra cost is the drink you booking. Larger venues may charge a £5 entry fee on Fridays, which usually includes a complimentary welcome drink.
Where does a after dark out intersect with online entertainment?
After a few rounds, you might find yourself scrolling for something to retain the buzz going. A fast search led me to a site that blends the social vibe of a bar with the thrill of online gaming – a neat side‑step when the music ends. I tried the Link plus discovered a handful of live‑streamed trivia nights that felt relish an extension of the bar’s playlist.
What’s the superior way to plan a effortless weekend?
Keeping all of that in brain, here is what tends to happen next.
Live music often hides behind a veneer of background playlists. At The Ancient Duke in Sheffield, the stage is booked for a 90‑short while set every Friday, featuring local blues bands that rotate weekly. The venue caps the audience at 120, which means you can still hear the lyrics without shouting.
Next, book a table if the venue offers reservations – The Old Duke takes bookings up to two weeks ahead, plus a £2 reservation price is refunded on the night. Finally, check the weather; an unexpected downpour can turn a rooftop terrace into a soggy mess. A quick glance at the Met Office forecast saved my friends from a drenched night in Birmingham last month.