By using Elementorforum.com’s services you agree to our Cookies Use and Data Transfer outside the EU.
We and our partners operate globally and use cookies, including for analytics, personalisation, ads and Newsletters.

  • Join the Best Unofficial Elementor Support forum

    Provide or get advice on everything Elementor and Wordpress, ask questions, gain confirmation or just become apart of a friendly, like minded community who love Wordpress and Elementor


    Join us!
elementor official

Create a widget allowing child elements

ChrisRArendt

ChrisRArendt

New Member
Hello!

I can not figure out how to do this and I have tried googling it and searching this forum a little and it doesn't seem to be a common topic. Can someone please help me out? <3

I want to create basically a clone of the standard columns widget, but add an additional control to select different variations. This will basically make it easier for the client to choose what class to apply to the columns to adjust the padidng/etc. without them needing to reference any documentation.

I do not need the columns widget's features, I just need to be able to add children to the widget and add a class with a select control. It just seemed easiest to start with something that already supports children. I couldn't find anything about adding child elements support to my custom widget (googling this turns up stuff about child templates etc)

I tried to create my own widget and then copy in the register_controls, content_template, before/after_render, add_render_attributes, _get_default_child_type, and get_html_tag from plugins/elementor/includes/elements/column.php. When I load the editor up though I get this error that I can't find on google:

Code:
message: "The specified "childViewContainer" was not found: > .elementor-widget-wrap"
name: "ChildViewContainerMissingError"
"ChildViewContainerMissingError: The specified "childViewContainer" was not found: > .elementor-widget-wrap
    at n.getChildViewContainer (http://metro-lifeboat.metro.localhost//wp-content/plugins/elementor/assets/lib/backbone/backbone.marionette.min.js?ver=2.4.5.e1:25:2193)
    at n._insertAfter (http://metro-lifeboat.metro.localhost//wp-content/plugins/elementor/assets/lib/backbone/backbone.marionette.min.js?ver=2.4.5.e1:25:1823)
    at n.attachHtml (http://metro-lifeboat.metro.localhost//wp-content/plugins/elementor/assets/lib/backbone/backbone.marionette.min.js?ver=2.4.5.e1:24:31011)
    at n.renderChildView (http://metro-lifeboat.metro.localhost//wp-content/plugins/elementor/assets/lib/backbone/backbone.marionette.min.js?ver=2.4.5.e1:24:30080)
    at n.addEmptyView (http://metro-lifeboat.metro.localhost//wp-content/plugins/elementor/assets/lib/backbone/backbone.marionette.min.js?ver=2.4.5.e1:24:28593)
    at n.showEmptyView (http://metro-lifeboat.metro.localhost//wp-content/plugins/elementor/assets/lib/backbone/backbone.marionette.min.js?ver=2.4.5.e1:24:27775)
    at n._renderChildren (http://metro-lifeboat.metro.localhost//wp-content/plugins/elementor/assets/lib/backbone/backbone.marionette.min.js?ver=2.4.5.e1:24:26720)
    at n._renderChildren (http://metro-lifeboat.metro.localhost//wp-content/plugins/elementor/assets/lib/backbone/backbone.marionette.min.js?ver=2.4.5.e1:25:1366)
    at n.render (http://metro-lifeboat.metro.localhost//wp-content/plugins/elementor/assets/lib/backbone/backbone.marionette.min.js?ver=2.4.5.e1:25:1160)
    at n.renderChildView (http://metro-lifeboat.metro.localhost//wp-content/plugins/elementor/assets/lib/backbone/backbone.marionette.min.js?ver=2.4.5.e1:24:30007)"
overrideMethod    @    react_devtools_backend.js:2430
consoleError    @    common.min.js?ver=3.1.1:2
onCatchApply    @    editor.min.js?ver=3.1.1:2
Promise.catch (async)
_callee2$    @    editor.min.js?ver=3.1.1:2
tryCatch    @    editor.min.js?ver=3.1.1:2
invoke    @    editor.min.js?ver=3.1.1:2
(anonymous)    @    editor.min.js?ver=3.1.1:2
asyncGeneratorStep    @    editor.min.js?ver=3.1.1:2
_next    @    editor.min.js?ver=3.1.1:2
(anonymous)    @    editor.min.js?ver=3.1.1:2
F    @    editor.min.js?ver=3.1.1:2
(anonymous)    @    editor.min.js?ver=3.1.1:2
runAfter    @    editor.min.js?ver=3.1.1:2
run    @    editor.min.js?ver=3.1.1:2
forEach.i.<computed>    @    editor.min.js?ver=3.1.1:2
run    @    common.min.js?ver=3.1.1:2
internal    @    common.min.js?ver=3.1.1:2
onPreviewLoaded    @    editor.min.js?ver=3.1.1:2
onPreviewLoaded    @    editor.min.js?ver=3.1.1:2
dispatch    @    load-scripts.php?c=0…ortable&ver=5.6.1:2
v.handle    @    load-scripts.php?c=0…ortable&ver=5.6.1:2
load (async)
add    @    load-scripts.php?c=0…ortable&ver=5.6.1:2
s.event.add    @    load-scripts.php?c=0…ortable&ver=5.6.1:5
(anonymous)    @    load-scripts.php?c=0…ortable&ver=5.6.1:2
each    @    load-scripts.php?c=0…ortable&ver=5.6.1:2
each    @    load-scripts.php?c=0…ortable&ver=5.6.1:2
ke    @    load-scripts.php?c=0…ortable&ver=5.6.1:2
on    @    load-scripts.php?c=0…ortable&ver=5.6.1:2
initPreview    @    editor.min.js?ver=3.1.1:2
onStart    @    editor.min.js?ver=3.1.1:2
onStart    @    editor.min.js?ver=3.1.1:2
(anonymous)    @    backbone.marionette.….js?ver=2.4.5.e1:24
f.triggerMethod    @    backbone.marionette.….js?ver=2.4.5.e1:24
start    @    backbone.marionette.….js?ver=2.4.5.e1:25
13021    @    editor.min.js?ver=3.1.1:2
__webpack_require__    @    editor.min.js?ver=3.1.1:2
(anonymous)    @    editor.min.js?ver=3.1.1:2
(anonymous)    @    editor.min.js?ver=3.1.1:2
 
elementor official

Latest posts

Latest Products

Other Elementor Resources

elementor official
elementor official
Top