Closed
Description
Current behavior
When adding a "Code Snippet Source" widget using Elementor and selecting a snippet the editor breaks with a fatal error.
Expected behavior
The block should work as expected.
Steps to reproduce
- Create or edit a post/page with Elementor.
- Insert a Code Snippets Source widget.
- Select a PHP snippet to run (haven't tried with other types).
- After saving and reloading the page, a fatal error occurs in the editor (the frontend seems to work).
WordPress version
6.7.1
Code Snippets version
3.6.6.1
Code Snippets license
Pro
Anything else?
Error:
Warning: Undefined property: Code_Snippets\Plugin::$frontend in C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\code-snippets-pro\php\front-end\elementor\class-source-widget.php on line 268
Fatal error: Uncaught Error: Call to a member function render_source_shortcode() on null in C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\code-snippets-pro\php\front-end\elementor\class-source-widget.php:268 Stack trace: #0 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\includes\base\controls-stack.php(2325): Code_Snippets\Elementor\Source_Widget->render() #1 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\includes\base\widget-base.php(635): Elementor\Controls_Stack->render_by_mode() #2 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\includes\base\widget-base.php(759): Elementor\Widget_Base->render_content() #3 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\includes\base\element-base.php(618): Elementor\Widget_Base->get_raw_data(true) #4 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\core\base\document.php(1084): Elementor\Element_Base->get_raw_data(true) #5 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\core\base\document.php(737): Elementor\Core\Base\Document->get_elements_raw_data(Array, true) #6 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\includes\base\controls-stack.php(1070): Elementor\Core\Base\Document->get_initial_config() #7 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\core\editor\loader\common\editor-common-scripts-settings.php(38): Elementor\Controls_Stack->get_config() #8 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\core\editor\loader\v2\editor-v2-loader.php(145): Elementor\Core\Editor\Loader\Common\Editor_Common_Scripts_Settings::get() #9 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\core\editor\editor.php(364): Elementor\Core\Editor\Loader\V2\Editor_V2_Loader->enqueue_scripts() #10 C:\Users\pause\Local Sites\cs-tests\app\public\wp-includes\class-wp-hook.php(324): Elementor\Core\Editor\Editor->enqueue_scripts('') #11 C:\Users\pause\Local Sites\cs-tests\app\public\wp-includes\class-wp-hook.php(348): WP_Hook->apply_filters('', Array) #12 C:\Users\pause\Local Sites\cs-tests\app\public\wp-includes\plugin.php(517): WP_Hook->do_action(Array) #13 C:\Users\pause\Local Sites\cs-tests\app\public\wp-includes\script-loader.php(2272): do_action('wp_enqueue_scri...') #14 C:\Users\pause\Local Sites\cs-tests\app\public\wp-includes\class-wp-hook.php(324): wp_enqueue_scripts('') #15 C:\Users\pause\Local Sites\cs-tests\app\public\wp-includes\class-wp-hook.php(348): WP_Hook->apply_filters('', Array) #16 C:\Users\pause\Local Sites\cs-tests\app\public\wp-includes\plugin.php(517): WP_Hook->do_action(Array) #17 C:\Users\pause\Local Sites\cs-tests\app\public\wp-includes\general-template.php(3064): do_action('wp_head') #18 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\includes\editor-templates\editor-wrapper.php(31): wp_head() #19 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\core\editor\loader\v2\editor-v2-loader.php(195): include('C:\\Users\\pause\\...') #20 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\core\editor\editor.php(169): Elementor\Core\Editor\Loader\V2\Editor_V2_Loader->print_root_template() #21 C:\Users\pause\Local Sites\cs-tests\app\public\wp-includes\class-wp-hook.php(324): Elementor\Core\Editor\Editor->init('') #22 C:\Users\pause\Local Sites\cs-tests\app\public\wp-includes\class-wp-hook.php(348): WP_Hook->apply_filters('', Array) #23 C:\Users\pause\Local Sites\cs-tests\app\public\wp-includes\plugin.php(517): WP_Hook->do_action(Array) #24 C:\Users\pause\Local Sites\cs-tests\app\public\wp-admin\admin.php(419): do_action('admin_action_el...') #25 C:\Users\pause\Local Sites\cs-tests\app\public\wp-admin\post.php(12): require_once('C:\\Users\\pause\\...') #26 {main} thrown in C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\code-snippets-pro\php\front-end\elementor\class-source-widget.php on line 268
There has been a critical error on this website. Please check your site admin email inbox for instructions. If you continue to have problems, please try the [support forums](https://wordpress.org/support/forums/).
[Learn more about troubleshooting WordPress.](https://wordpress.org/documentation/article/faq-troubleshooting/)
[10-Dec-2024 22:25:49 UTC] PHP Warning: Undefined property: Code_Snippets\Plugin::$frontend in C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\code-snippets-pro\php\front-end\elementor\class-source-widget.php on line 268
[10-Dec-2024 22:25:49 UTC] PHP Fatal error: Uncaught Error: Call to a member function render_source_shortcode() on null in C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\code-snippets-pro\php\front-end\elementor\class-source-widget.php:268
Stack trace:
#0 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\includes\base\controls-stack.php(2325): Code_Snippets\Elementor\Source_Widget->render()
#1 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\includes\base\widget-base.php(635): Elementor\Controls_Stack->render_by_mode()
#2 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\includes\base\widget-base.php(699): Elementor\Widget_Base->render_content()
#3 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\includes\db.php(202): Elementor\Widget_Base->render_plain_content()
#4 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\includes\db.php(208): Elementor\DB->render_element_plain_content(Array)
#5 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\includes\db.php(558): Elementor\DB->render_element_plain_content(Array)
#6 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\includes\db.php(539): Elementor\DB->get_plain_text_from_data(Array)
#7 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\includes\db.php(230): Elementor\DB->get_plain_text(11)
#8 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\core\base\document.php(1365): Elementor\DB->save_plain_text(11)
#9 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\core\base\document.php(855): Elementor\Core\Base\Document->save_elements(Array)
#10 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\core\documents-manager.php(549): Elementor\Core\Base\Document->save(Array)
#11 [internal function]: Elementor\Core\Documents_Manager->ajax_save(Array, Object(Elementor\Core\Common\Modules\Ajax\Module))
#12 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\core\common\modules\ajax\module.php(176): call_user_func(Array, Array, Object(Elementor\Core\Common\Modules\Ajax\Module))
#13 C:\Users\pause\Local Sites\cs-tests\app\public\wp-includes\class-wp-hook.php(324): Elementor\Core\Common\Modules\Ajax\Module->handle_ajax_request('')
#14 C:\Users\pause\Local Sites\cs-tests\app\public\wp-includes\class-wp-hook.php(348): WP_Hook->apply_filters('', Array)
#15 C:\Users\pause\Local Sites\cs-tests\app\public\wp-includes\plugin.php(517): WP_Hook->do_action(Array)
#16 C:\Users\pause\Local Sites\cs-tests\app\public\wp-admin\admin-ajax.php(192): do_action('wp_ajax_element...')
#17 {main}
thrown in C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\code-snippets-pro\php\front-end\elementor\class-source-widget.php on line 268
[10-Dec-2024 22:25:50 UTC] PHP Warning: Undefined property: Code_Snippets\Plugin::$frontend in C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\code-snippets-pro\php\front-end\elementor\class-source-widget.php on line 268
[10-Dec-2024 22:25:50 UTC] PHP Fatal error: Uncaught Error: Call to a member function render_source_shortcode() on null in C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\code-snippets-pro\php\front-end\elementor\class-source-widget.php:268
Stack trace:
#0 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\includes\base\controls-stack.php(2325): Code_Snippets\Elementor\Source_Widget->render()
#1 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\includes\base\widget-base.php(635): Elementor\Controls_Stack->render_by_mode()
#2 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\includes\base\widget-base.php(759): Elementor\Widget_Base->render_content()
#3 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\includes\base\element-base.php(618): Elementor\Widget_Base->get_raw_data(true)
#4 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\core\base\document.php(1084): Elementor\Element_Base->get_raw_data(true)
#5 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\core\base\document.php(737): Elementor\Core\Base\Document->get_elements_raw_data(Array, true)
#6 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\includes\base\controls-stack.php(1070): Elementor\Core\Base\Document->get_initial_config()
#7 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\core\editor\loader\common\editor-common-scripts-settings.php(38): Elementor\Controls_Stack->get_config()
#8 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\core\editor\loader\v2\editor-v2-loader.php(145): Elementor\Core\Editor\Loader\Common\Editor_Common_Scripts_Settings::get()
#9 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\core\editor\editor.php(364): Elementor\Core\Editor\Loader\V2\Editor_V2_Loader->enqueue_scripts()
#10 C:\Users\pause\Local Sites\cs-tests\app\public\wp-includes\class-wp-hook.php(324): Elementor\Core\Editor\Editor->enqueue_scripts('')
#11 C:\Users\pause\Local Sites\cs-tests\app\public\wp-includes\class-wp-hook.php(348): WP_Hook->apply_filters('', Array)
#12 C:\Users\pause\Local Sites\cs-tests\app\public\wp-includes\plugin.php(517): WP_Hook->do_action(Array)
#13 C:\Users\pause\Local Sites\cs-tests\app\public\wp-includes\script-loader.php(2272): do_action('wp_enqueue_scri...')
#14 C:\Users\pause\Local Sites\cs-tests\app\public\wp-includes\class-wp-hook.php(324): wp_enqueue_scripts('')
#15 C:\Users\pause\Local Sites\cs-tests\app\public\wp-includes\class-wp-hook.php(348): WP_Hook->apply_filters('', Array)
#16 C:\Users\pause\Local Sites\cs-tests\app\public\wp-includes\plugin.php(517): WP_Hook->do_action(Array)
#17 C:\Users\pause\Local Sites\cs-tests\app\public\wp-includes\general-template.php(3064): do_action('wp_head')
#18 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\includes\editor-templates\editor-wrapper.php(31): wp_head()
#19 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\core\editor\loader\v2\editor-v2-loader.php(195): include('C:\\Users\\pause\\...')
#20 C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\elementor\core\editor\editor.php(169): Elementor\Core\Editor\Loader\V2\Editor_V2_Loader->print_root_template()
#21 C:\Users\pause\Local Sites\cs-tests\app\public\wp-includes\class-wp-hook.php(324): Elementor\Core\Editor\Editor->init('')
#22 C:\Users\pause\Local Sites\cs-tests\app\public\wp-includes\class-wp-hook.php(348): WP_Hook->apply_filters('', Array)
#23 C:\Users\pause\Local Sites\cs-tests\app\public\wp-includes\plugin.php(517): WP_Hook->do_action(Array)
#24 C:\Users\pause\Local Sites\cs-tests\app\public\wp-admin\admin.php(419): do_action('admin_action_el...')
#25 C:\Users\pause\Local Sites\cs-tests\app\public\wp-admin\post.php(12): require_once('C:\\Users\\pause\\...')
#26 {main}
thrown in C:\Users\pause\Local Sites\cs-tests\app\public\wp-content\plugins\code-snippets-pro\php\front-end\elementor\class-source-widget.php on line 268