Description
Have you ever wanted to alter the way Elementor renders one of its widgets on your website?
Fundamento provides an easier way to achieve this by allowing you to inject extra CSS classes into Elementor’s widgets.
Usage
Tell Elementor that you have a new skin available by utilizing the following code in your functions.php
file:
-
Add an action to initialize Fundamento, then add a call to Fundamento’s
register_skin()
function:if(is_plugin_active('fundamento/fundamento.php')) { function fundamento_init() { // create a new Fundamento instance $f = \Fundamento\Plugin::instance(); // register a new skin $f->register_skin([ 'name' => 'Red', // The name of your new skin, as it will appear in Elementor 'element' => 'button', // The elementor element you are skinning 'is_default' => true, // optional - should this skin be set by default on all elements of this type 'css' => get_stylesheet_directory_uri() . '/skins/button/red.css', // optional - have Fundamento enqueue an extra css file 'js' => get_stylesheet_directory_uri() . '/skins/button/red.js', // optional - have Fundamento enqueue an extra js file ]); } add_action('elementor/init', 'fundamento_init'); }
-
Add the selector to your css file:
/* Class will always be .skin-{element}-{name} */ /* Name is transformed to lowercase and spaces are replaced with "-" */ .skin-button-red { background: #f00; }
Tell Elementor that you have a new padding preset by utilizing the following code in your functions.php
file:
-
Add an action to initialize Fundamento, then add a call to Fundamento’s
register_padding()
function:if(is_plugin_active('fundamento/fundamento.php')) { function fundamento_init() { // create a new Fundamento instance $f = \Fundamento\Plugin::instance(); // register a new skin $f->register_padding([ 'name' => 'Standard', // The name of your padding preset, as it will appear in Elementor 'element' => 'section', // The elementor element you are skinning 'padding' => '30px', // The value and unit of the amount of padding this preset should apply 'is_default' => true, // optional - should this skin be set by default on all elements of this type ]); } add_action('elementor/init', 'fundamento_init'); }
Installation
- Upload the
fundamento
folder to yourplugins
directory - Activate the plugin through the ‘Plugins’ menu in WordPress
- Add the Fundamento function call to your WordPress theme’s
functions.php
file - Select a widget on your Elementor-enabled page and choose the custom skin you created
or - Select a widget on your Elementor-enabled page and choose the padding preset you created
Reviews
Contributors & Developers
“Fundamento” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Fundamento” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.1.10
- Updated version alignment/support.
1.1.9
- Add padding-top/bottom/left/right for inline and block padding on Elementor 3.16+.
1.1.8
- Fixed bug where classes were not always being added to frontend in Elementor v3.14+.
1.1.7
- Moved container padding presets to a custom controls section
1.1.6
- Tested in updated WP / Elementor environments
1.1.5
- Update padding-control.php to work with section/container templates
1.1.4
- Update readme.txt
1.1.3
- Added improved, responsive padding controls
1.1.2
- Fix behavior of
Default
padding preset
1.1.1
- Fix selector for padding presets on
column
element - Change
None (default)
for column padding preset to10px
to match Elementor’s default column padding
1.1.0
- Add register_padding function
- Fix “Undefined index: skin_options” bug
1.0.5
- Optimize how classes are being added to elements
- Fix sections/columns not getting classes applied to them
1.0.4
- Add WP Admin notice if not registering skins in the right hook
1.0.3
- Enqueue all skin styles and scripts into page editor
1.0.2
- Fix plugin so it can add skins dropdown to any element
1.0.1
- Added is_default option.
- Prevent Fundamento from double-enqueuing the same css/js file for an element.
1.0
- Our initial release.