__('Elementor', 'streamcast'), __('Divi', 'streamcast') => __('Divi Builder', 'streamcast'), __('Bricks', 'streamcast') => __('Bricks Builder', 'streamcast'), __('WPBakery', 'streamcast') => __('WPBakery Page Builder', 'streamcast'), __('Beaver', 'streamcast') => __('Beaver Builder', 'streamcast'), __('Oxygen', 'streamcast') => __('Oxygen Builder', 'streamcast'), __('Breakdance', 'streamcast') => __('Breakdance', 'streamcast'), __('Widgets', 'streamcast') => __('Widget areas & sidebars', 'streamcast'), ]; } /** * The settings this build gates. Kept in step with the crown-marked and locked * fields in class-streamcast-metabox.php. */ private function locked_features() { return [ __('Auto play & initial volume', 'streamcast'), __('Artwork & background image', 'streamcast'), __('Player colors & themes', 'streamcast'), __('Fetch station name from URL', 'streamcast'), __('Sticky player position', 'streamcast'), __('Visualizer & progress colors', 'streamcast'), ]; } /** * Capability statement, not detection: the jacks are lit as a matter of fact. The * card never claims a builder is installed, which is what keeps it static and * free of any runtime check. */ public function render_builders($post) { $builders = $this->builders(); $outputs = count($builders) + 1; // the builders, plus the native block. $shortcode = "[radio_player id='" . $post->ID . "']"; ?>
$full) { ?>

locked_features(); $upgrade = \StreamCast\Functions::pro_url(); ?>