Automattic\WooCommerce\Internal\Admin

WcPayWelcomePage::register_payments_welcome_page()publicWC 1.0

Registers the WooPayments welcome page.

Method of the class: WcPayWelcomePage{}

No Hooks.

Return

null. Nothing (null).

Usage

$WcPayWelcomePage = new WcPayWelcomePage();
$WcPayWelcomePage->register_payments_welcome_page();

WcPayWelcomePage::register_payments_welcome_page() code WC 8.7.0

public function register_payments_welcome_page() {
	global $menu;

	if ( ! $this->must_be_visible() ) {
		return;
	}

	$menu_icon = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4NTIiIGhlaWdodD0iNjg0Ij48cGF0aCBmaWxsPSIjYTJhYWIyIiBkPSJNODIgODZ2NTEyaDY4NFY4NlptMCA1OThjLTQ4IDAtODQtMzgtODQtODZWODZDLTIgMzggMzQgMCA4MiAwaDY4NGM0OCAwIDg0IDM4IDg0IDg2djUxMmMwIDQ4LTM2IDg2LTg0IDg2em0zODQtNTU2djQ0aDg2djg0SDM4MnY0NGgxMjhjMjQgMCA0MiAxOCA0MiA0MnYxMjhjMCAyNC0xOCA0Mi00MiA0MmgtNDR2NDRoLTg0di00NGgtODZ2LTg0aDE3MHYtNDRIMzM4Yy0yNCAwLTQyLTE4LTQyLTQyVjIxNGMwLTI0IDE4LTQyIDQyLTQyaDQ0di00NHoiLz48L3N2Zz4=';

	$menu_data = [
		'id'       => 'wc-calypso-bridge-payments-welcome-page',
		'title'    => esc_html__( 'Payments', 'woocommerce' ),
		'path'     => '/wc-pay-welcome-page',
		'position' => '56',
		'nav_args' => [
			'title'        => esc_html__( 'WooPayments', 'woocommerce' ),
			'is_category'  => false,
			'menuId'       => 'plugins',
			'is_top_level' => true,
		],
		'icon'     => $menu_icon,
	];

	wc_admin_register_page( $menu_data );

	// Registering a top level menu via wc_admin_register_page doesn't work when the new
	// nav is enabled. The new nav disabled everything, except the 'WooCommerce' menu.
	// We need to register this menu via add_menu_page so that it doesn't become a child of
	// WooCommerce menu.
	if ( get_option( 'woocommerce_navigation_enabled', 'no' ) === 'yes' ) {
		$menu_with_nav_data = [
			esc_html__( 'Payments', 'woocommerce' ),
			esc_html__( 'Payments', 'woocommerce' ),
			'view_woocommerce_reports',
			'admin.php?page=wc-admin&path=/wc-pay-welcome-page',
			null,
			$menu_icon,
			56,
		];

		call_user_func_array( 'add_menu_page', $menu_with_nav_data );
	}

	// Add badge.
	$badge = ' <span class="wcpay-menu-badge awaiting-mod count-1"><span class="plugin-count">1</span></span>';
	foreach ( $menu as $index => $menu_item ) {
		// Only add the badge markup if not already present and the menu item is the WooPayments menu item.
		if ( false === strpos( $menu_item[0], $badge )
			&& ( 'wc-admin&path=/wc-pay-welcome-page' === $menu_item[2]
				|| 'admin.php?page=wc-admin&path=/wc-pay-welcome-page' === $menu_item[2] )
		) {
			$menu[ $index ][0] .= $badge; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited

			// One menu item with a badge is more than enough.
			break;
		}
	}
}