PluginProbe
YayMail – WooCommerce Email Customizer / 4.4.5
YayMail – WooCommerce Email Customizer v4.4.5
4.4.6 4.4.5 4.4.4 4.4.3 4.4.2 4.4.1 trunk 1.9.6 2.1.4 2.1.5 3.2.2 3.2.6 3.2.7.1 3.2.8.1 3.2.9 3.3 3.3.1 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9 3.4 3.4.1 All 57 releases
← All changes | vendor-prefixed/src/Menu/TopLevelMenu.php +4 -5 4.4.2 → 4.4.5 View file →
@@ -11,15 +11,14 @@
11 11 * RegisterMenu.php — cross-plugin class_exists() probes removed because
12 12 * LicenseRegistry now handles plugin discovery.
13 13 *
14 14 * Position 56 (after WooCommerce), capability manage_options, slug yaycommerce.
15 - * @internal
16 15 */
17 16 class TopLevelMenu
18 17 {
19 18 public static int $position = 56;
20 19 public static string $capability = 'manage_options';
21 - public function init() : void
20 + public function init(): void
22 21 {
23 22 AdminContext::bind_menu([$this, 'register_menu'], 9);
24 23 }
25 24 /**
@@ -24,9 +23,9 @@
24 23 }
25 24 /**
26 25 * Register top-level menu. Guard ensures only the first plugin wins.
27 26 */
28 - public function register_menu() : void
27 + public function register_menu(): void
29 28 {
30 29 global $admin_page_hooks;
31 30 // First-to-register-wins — if another plugin already registered the
32 31 // 'yaycommerce' top-level menu, skip. This replaces the old cross-plugin
@@ -52,9 +51,9 @@
52 51 /**
53 52 * WP auto-creates a submenu matching the parent slug. Remove it late
54 53 * so it runs after all plugins have registered their submenus.
55 54 */
56 - public static function remove_parent_submenu() : void
55 + public static function remove_parent_submenu(): void
57 56 {
58 57 remove_submenu_page('yaycommerce', 'yaycommerce');
59 58 }
60 59 /**
@@ -59,9 +58,9 @@
59 58 }
60 59 /**
61 60 * Inline base64 SVG logo — copied as-is from YayMail Pro RegisterMenu.php.
62 61 */
63 - public static function get_logo_url() : string
62 + public static function get_logo_url(): string
64 63 {
65 64 return 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQiIGhlaWdodD0iNjQiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQ2LjI0NzYgNi40MDg5NkM0Ni4yNDc2IDkuOTQ4MTYgNDMuMzc3OCAxMi44MTc5IDM5LjgzODYgMTIuODE3OUMzNi4yOTk0IDEyLjgxNzkgMzMuNDI5NyA5Ljk0ODE2IDMzLjQyOTcgNi40MDg5NkMzMy40Mjk3IDIuODY5NzYgMzYuMjk4MSAwIDM5LjgzODYgMEM0My4zNzkxIDAgNDYuMjQ3NiAyLjg2OTc2IDQ2LjI0NzYgNi40MDg5NlpNMS4xNjQ3MSAyMi45OTI2Qy0wLjIxODk3MiAyMy4xMzIyIC0wLjQzNzg1MiAyNS4wNTg2IDAuODc5MjY4IDI1LjUwNEM5LjI1NDMxIDI4LjMzNjYgMjEuMzAwNCAzMC45OTUyIDI3LjI0OTggMzIuMjM0MkMyOS4yOTkxIDMyLjY2MDUgMzAuNjIzOSAzNC42NDgzIDMwLjI0MTIgMzYuNzA2NkMyOC41NDUyIDQ1LjgwNjEgMjUuMzc4NSA1NS41Mjc3IDIzLjM2ODkgNjIuMzM0N0MyMi45ODYyIDYzLjYzMTQgMjQuNTk5IDY0LjU3MjIgMjUuNTM4NSA2My42MDA2QzQ3LjIxMDIgNDEuMjAxOSA1OS4zODk0IDE4LjE5OSA2My44Njk0IDguNzIzMkM2NC40MjM2IDcuNTUwNzIgNjMuMTAwMSA2LjM4NzIgNjIuMDA0NCA3LjA4MDk2QzQ1LjM5MTMgMTcuNjA2NCAxMy44NTU5IDIxLjcxNzggMS4xNjQ3MSAyMi45OTI2WiIgZmlsbD0iI0E3QUFBRCIvPgo8L3N2Zz4=';
66 65 }
67 66 }