Automattic\WooCommerce\Internal\ComingSoon

ComingSoonAdminBarBadge::site_visibility_badgepublicWC 1.0

Add site visibility cache badge to WP admin bar.

Method of the class: ComingSoonAdminBarBadge{}

No Hooks.

Returns

null. Nothing (null).

Usage

$ComingSoonAdminBarBadge = new ComingSoonAdminBarBadge();
$ComingSoonAdminBarBadge->site_visibility_badge( $wp_admin_bar );
$wp_admin_bar(WP_Admin_Bar) (required)
The WP_Admin_Bar instance.

ComingSoonAdminBarBadge::site_visibility_badge() code WC 10.3.3

public function site_visibility_badge( $wp_admin_bar ) {
	// Early exit if LYS feature is disabled.
	if ( ! FeaturesUtil::feature_is_enabled( 'site_visibility_badge' ) ) {
		return;
	}

	$labels = array(
		'coming-soon'       => __( 'Coming soon', 'woocommerce' ),
		'store-coming-soon' => __( 'Store coming soon', 'woocommerce' ),
		'live'              => __( 'Live', 'woocommerce' ),
	);

	if ( get_option( 'woocommerce_coming_soon' ) === 'yes' ) {
		if ( get_option( 'woocommerce_store_pages_only' ) === 'yes' ) {
			$key = 'store-coming-soon';
		} else {
			$key = 'coming-soon';
		}
	} else {
		$key = 'live';
	}

	$args = array(
		'id'    => 'woocommerce-site-visibility-badge',
		'title' => $labels[ $key ],
		'href'  => admin_url( 'admin.php?page=wc-settings&tab=site-visibility' ),
		'meta'  => array(
			'class' => 'woocommerce-site-status-badge-' . $key,
		),
	);
	$wp_admin_bar->add_node( $args );
}