← All changes
|
vendor/elementor/wp-one-package/src/Connect/Facade.php
+17
-0
1.7.4
→
1.7.7
View file →
| @@ -157,8 +157,25 @@ | ||
| 157 | 157 | return apply_filters( 'elementor_one/get_connect_instance', $instance, $plugin_slug, self::$instances ); |
| 158 | 158 | } |
| 159 | 159 | |
| 160 | 160 | /** |
| 161 | + * Get a Facade instance by admin page | |
| 162 | + * | |
| 163 | + * @param string $plugin_page The admin page slug | |
| 164 | + * @return Facade|null The facade instance or null if not found | |
| 165 | + */ | |
| 166 | + public static function get_by_plugin_page( string $plugin_page ): ?Facade { | |
| 167 | + foreach ( self::$instances as $instance ) { | |
| 168 | + $admin_page = $instance->get_config( 'admin_page' ); | |
| 169 | + $normalized_plugin_page = explode( 'page=', $admin_page, 2 )[1] ?? $admin_page; | |
| 170 | + if ( $normalized_plugin_page === $plugin_page ) { | |
| 171 | + return $instance; | |
| 172 | + } | |
| 173 | + } | |
| 174 | + return null; | |
| 175 | + } | |
| 176 | + | |
| 177 | + /** | |
| 161 | 178 | * Get a Facade instance by plugin_slug or throw exception if not found |
| 162 | 179 | * |
| 163 | 180 | * @param string $plugin_slug The plugin slug |
| 164 | 181 | * @return Facade The facade instance |