From 5c6eba625a2bd9559f93795327c056721807a8a9 Mon Sep 17 00:00:00 2001 From: Krystie Date: Tue, 2 Jun 2026 20:23:17 -0700 Subject: [PATCH] fix: elementor widget crash guard - check class_exists before registering --- includes/class-beep.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/includes/class-beep.php b/includes/class-beep.php index 12614dc..94cd2a3 100755 --- a/includes/class-beep.php +++ b/includes/class-beep.php @@ -20,11 +20,16 @@ class Beep_Plugin { update_option('beep_giphy_key', 'xuxYxuIvzPqw5tPB4laa7sQO8dFtSlNS'); } - // Elementor widget + // Elementor widget — only load if Elementor is active add_action('elementor/widgets/register', function ($widgets_manager) { - require_once BEEP_DIR . 'includes/class-elementor-widget.php'; - $widgets_manager->register(new \Elementor\Beep_Elementor_Widget()); - }); + if (!class_exists('\Elementor\Widget_Base')) return; + $widget_file = BEEP_DIR . 'includes/class-elementor-widget.php'; + if (!file_exists($widget_file)) return; + require_once $widget_file; + if (class_exists('\Elementor\Beep_Elementor_Widget')) { + $widgets_manager->register(new \Elementor\Beep_Elementor_Widget()); + } + }, 5); // Admin settings (Giphy API key only — full settings via Beep_Settings) add_action('admin_menu', [__CLASS__, 'add_admin_menu']);