The whole information to eradicating elementor upsells
Elementor is a Highly effective Software for Constructing WordPress Web sites, however its Dashboard Can Typically Really feel Cluttered with upsell Advertisements and Prompts for Premium Options.
On this information, I will present you easy methods to take away essentially the most upsells elementor, will let you get pleasure from a cleaner, extra centered interface. You may observe alongside the information and add the code to your customized theme or you’ll be able to skip the information and obtain the helpful plugin on github inside.
Earlier than we dive in, it is price mentioning that the best solution to take away elementor upsells is by buying and putting in elementor professional (affiliate hyperlink). That is what I like to recommend, howver, not everybody wants the additional options, or might not be able to decide to the continuing price.
This information could also be controversial, however here is my perspective: Whereas I absolutely perceive the necessity to generate income, I consider that while you create a free GPL product, Customers ought to have the liberty to switch it as they see match.
Once more, I Strongly Advocate You Buy Elementor Professional to Entry Tons of Awesomes Options and Help from the Builders. Take a look on the elementor free vs professional article on their websites to see what you’ll be lacking out on!
In case you’re not able to improve to the professional model and like sticking with the free one, hold studying to learn to take away the upsells for a cleaner consumer interface.
TL; Dr. Skip to the ultimate code & plugin
Wpex_remove_elementor_upsells php class
Let’s Begin by Creating Our Php Class which can maintain all of the code necki to take away elementor upsells. It will hold every part and structured. On the high of the category, we’ll features a verify to make sure that if you’re upgraded to elementor professional, nothing will get eliminated or affected.
Right here is Our Starter Class:
/**
* Take away Elementor Upsells.
*/
class WPEX_Remove_Elementor_Upsells {
/**
* Constructor.
*/
public operate __construct() {
if ( did_action( 'elementor/loaded' ) ) {
$this->register_actions();
} else {
add_action( 'elementor/loaded', ( $this, 'register_actions' ) );
}
}
/**
* Register our fundamental class actions.
*/
public operate register_actions(): void {
if ( is_callable( 'ElementorUtils::has_pro' ) && ElementorUtils::has_pro() ) {
return; // bail early if we're utilizing Elementor Professional.
}
// We are going to do issues right here...
}
}
new WPEX_Remove_Elementor_Upsells;
Within the regulation of this tutorial, we’ll be including new code inside this class. It is necessary to observe alongside Intently, as Skipping Any Part Might Trigger You To Miss Important Code. Alternatively, you’ll be able to skip forward to the top and replica the whole last model of the category.
Take away “Ineffective” Admin Panels & Hyperlinks
Elementor Registers Numerous Admin Pages that do not do do something illness show a touchdown web page to improve to the professional model. We’re going to first take away the next ineffective pages:
- Submissions
- Customized Fonts
- Customized Icons
- Customized code
- Add-ons (bonus)
We’ll begin out by updating our register_actions
technique to appear like this:
/**
* Register our fundamental class actions.
*/
public operate register_actions(): void {
if ( is_callable( 'ElementorUtils::has_pro' ) && ElementorUtils::has_pro() ) {
return; // bail early if we're utilizing Elementor Professional.
}
add_action( 'elementor/admin/menu/after_register', ( $this, 'remove_admin_pages' ), PHP_INT_MAX, 2 );
}
Then we’ll add a brand new technique named remove_admin_pages
to the category which can appear like this:
/**
* Take away admin pages.
*/
public operate remove_admin_pages( $menu_manager, $hooks ): void {
$pages_to_remove = ();
$subpages_to_remove = ();
if ( is_callable( ( $menu_manager, 'get_all' ) ) ) {
foreach ( (array) $menu_manager->get_all() as $item_slug => $merchandise ) {
if ( isset( $hooks( $item_slug ) )
&& is_object( $merchandise )
&& ( is_subclass_of( $merchandise, 'ElementorModulesPromotionsAdminMenuItemsBase_Promotion_Item' )
|| is_subclass_of( $merchandise, 'ElementorModulesPromotionsAdminMenuItemsBase_Promotion_Template' )
)
) {
$parent_slug = is_callable( ( $merchandise, 'get_parent_slug' ) ) ? $item->get_parent_slug() : '';
if ( ! empty( $parent_slug ) ) {
$subpages_to_remove() = ( $parent_slug, $item_slug );
} else {
$pages_to_remove() = $hooks( $item_slug );
}
}
}
}
foreach ( $pages_to_remove as $menu_slug ) {
remove_menu_page( $menu_slug );
}
foreach ( $subpages_to_remove as $subpage ) {
remove_submenu_page( $subpage(0), $subpage(1) );
}
}
This code hooks takes benefit of a helpful hook within the elementor plugin so we are able to dynamically get an inventory of promotional admin pages and take away them.
Take away the add-ons web page
Chances are you’ll discover the add-ons the Helpful as it is a solution to find plugins appropriate with elementors that present further performance. Howver, most of those are premium add-ons (aka advertisements) and when you aren’t shopping for elementor professional, you’ll doubtless not be shopping for something from this web page both.
To take away the add-ons web page we’ll replace the earlier technique to have an additional verify like so:
/**
* Take away admin pages.
*/
public operate remove_admin_pages( $menu_manager, $hooks ): void {
$pages_to_remove = ();
$subpages_to_remove = ();
if ( is_callable( ( $menu_manager, 'get_all' ) ) ) {
foreach ( (array) $menu_manager->get_all() as $item_slug => $merchandise ) {
if ( isset( $hooks( $item_slug ) )
&& is_object( $merchandise )
&& ( is_subclass_of( $merchandise, 'ElementorModulesPromotionsAdminMenuItemsBase_Promotion_Item' )
|| is_subclass_of( $merchandise, 'ElementorModulesPromotionsAdminMenuItemsBase_Promotion_Template' )
|| 'elementor-apps' === $item_slug
)
) {
$parent_slug = is_callable( ( $merchandise, 'get_parent_slug' ) ) ? $item->get_parent_slug() : '';
if ( ! empty( $parent_slug ) ) {
$subpages_to_remove() = ( $parent_slug, $item_slug );
} else {
$pages_to_remove() = $hooks( $item_slug );
}
}
}
}
foreach ( $pages_to_remove as $menu_slug ) {
remove_menu_page( $menu_slug );
}
foreach ( $subpages_to_remove as $subpage ) {
remove_submenu_page( $subpage(0), $subpage(1) );
}
}
All we did was add || 'elementor-apps' === $item_slug
to the if assertion.
Take away add-ons hyperlink from admin bar

In case you eliminated the add-ons web page you may additionally wish to take away the hyperlink within the elementor high bar. In any other case, if somebody clicks on the hyperlink it can take them to a wordpress error web page with the warning “sorry, you aren’t allowed to entry this web page.”.
To maintain issues easy what we’ll do is add a bit of customized css within the wp admin that hides the hyperlink utilizing the trendy: has () selector.
Let’s add a brand new motion to the register_actions
Like Such Technique:
add_action( 'elementor/admin_top_bar/before_enqueue_scripts', ( $this, 'admin_top_bar_css' ) );
Then add the brand new add_css_to_elementor_admin
Technique to the underside of the category:
/**
* Add inline CSS to switch the Elementor admin high bar.
*/
public operate admin_top_bar_css(): void {
wp_add_inline_style(
'elementor-admin-top-bar',
'.e-admin-top-bar__bar-button:has(.eicon-integration){show:none!necessary;}'
);
}
This code leverages the truth that the elementor assigns particular font icons to every high bar hyperlink, permitting us to focus on the button straight primarily based on its icon.
Monitoring Referrals Violates The WordPress Plugin Pointers
As of the time this text was printed, the elementor is utilizing closed hyperlinks on their add-ons web page. So while you hover on a premium add-on “let’s go” button you will note a goal url that appears one thing like this:
Whenever you click on and go to this hyperlink it might redirect you to a referral hyperlink. Which can be a violation of the next plugin guideline. As famous on this part:
Promoting Inside The WordPress Dashboard Must be Prevented, as it’s usually ineffective … Bear in mind: Monitoring Referrals through these advertisements shouldn’t be permitted.
To be truthful, elementor does an honest job at low cost how they add-ons web page works on their very own website. However to be absolutely compliant with the wordpress tips (from my understanding) they need to be linking to pages on their websites, not including clounted hyperlinks straight within the wp admin.
Bonus: Take away the Get Assist Hyperlink
In case you would additionally prefer to take away the Get assist Hyperlink you’ll be able to return to our remove_admin_pages
Technique and add the next on the backside:
remove_submenu_page( 'elementor', 'go_knowledge_base_site' );

Subsequent we’ll take away the pink improve button that shows within the admin sidebar underneath the elementor mother or father menu merchandise. That is technically an admin web page (when visited it, use a redirection to go to their web site) so it may also be eliminated utilizing remove_submenu_page
.
Add the next code inside (on the backside) of the remove_admin_pages
Technique.
remove_submenu_page( 'elementor', 'go_elementor_pro' );
Take away the “improve now” hyperlink within the admin bar

The “improve now” hyperlink on the high of elementor pages is the least intusive upsell and, in my view, is completed in a reasonably stylish approach. Whereas I personally assume it is completely acceptable, this information is all about serving to you take away as many upsells as potential, so I am displaying you easy methods to eliminate it.
If you’re following alongside and also you decideted to cover the add-ons web page then you definitely’ve already added the admin_top_bar_css
Technique to your class. We’ll be up to date this technique to additionally conceal the Improve now Button. If not, please scroll up and observe the step on this part.
That is what your up to date admin_top_bar_css
technique ought to appear like:
public operate admin_top_bar_css(): void {
$target_icon_classes = (
'.eicon-integration', // Add-ons
'.eicon-upgrade-crown', // Improve now
);
wp_add_inline_style(
'elementor-admin-top-bar',
'.e-admin-top-bar__bar-button:has(' . implode( ',', $target_icon_classes ) . '){show:none!necessary;}'
);
}
Take away the theme builder

As a free consumer you gained’t have entry to the theme builder. Which is superior by the way in which, and absolutely supported in our complete theme. In my view, theme builder is the first cause you can purchase the professional model. It can will let you Really Create a Customized Web site.
As you in all probability guessed, that is additionally a “dummy” admin web page just like the pink improve button we eliminated earlier. To take away we’ll return to our remove_admin_pages
Technique and add the next on the backside:
if ( ! isset( $_GET('web page') ) || 'elementor-app' !== $_GET('web page') ) {
remove_submenu_page( 'edit.php?post_type=elementor_library', 'elementor-app' );
}
We add an additional verify for the web page question parameter, in any other case, the package library will cease working.
Take away the theme Builder Admin-Bar Hyperlink

Elementor Additionally provides the theme builder hyperlink to the consumer admin bar when logged in and viewing the frontend of your website. Which, once more, when you click on the hyperlink you might be taken to a ineffective web page the place you’ll be able to’t do something as a free consumer.
To take away this hyperlink we’ll first want so as to add a brand new motion to our register_actions
Technique:
add_filter( 'elementor/frontend/admin_bar/settings', ( $this, 'modify_admin_bar' ), PHP_INT_MAX );
Then we’ll add a brand new modify_admin_bar
Technique to the underside of our class:
/**
* Modify the admin bar hyperlinks.
*/
public operate modify_admin_bar( $admin_bar_config ) {
if ( isset( $admin_bar_config('elementor_edit_page')('kids') )
&& is_array( $admin_bar_config('elementor_edit_page')('kids') )
) {
foreach ( $admin_bar_config('elementor_edit_page')('kids') as $okay => $merchandise ) {
if ( isset( $merchandise('id') ) && 'elementor_app_site_editor' === $merchandise('id') ) {
unset( $admin_bar_config('elementor_edit_page')('kids')( $okay ) );
break;
}
}
}
return $admin_bar_config;
}
Take away the theme Builder Elementor Bar Hyperlink

Elementor Additionally Provides a Theme Builder Hyperlink to the dropdown menu that seems while you click on the emblem within the builder’s admin bar. Sadly, this dropdown is generated with javascript (when the emblem is clicked), and the way in which it is constructed making eradicating objects from it a bit tough. It is Doable, however the Code Concerned would add Bloat and Might Introduce Potential Points.
If you wish to dig into it it your self, take a look at the file at:elementor/belongings/js/packages/editor-app-bar/editor-app-bar.min.js
The one strategies I can consider removes the hyperlink could be to both override the window.elementorV2
Object or use a MutationObserver
To detect and filter out the ingredient when it is created. Each Choices Really feel Like Overkill to Me.

Elementor Additionally consists of all of the premium widgets within the widget selector, which I perceive as a solution to present customers what they’re lacking. Howver, it may be fairly irritating when looking for objects, particularly when you’re utilizing an add-on plugin that registers widgets with related names.
We’re not technically “eradicating” the widgets, so we cannot unlock any reminiscence. Howver, we are able to conceal them utilizing css to wash up and slim down the sidebar.
Let’s add a brand new motion to our register_actions
Technique:
add_action( 'elementor/editor/after_enqueue_styles', ( $this, 'editor_css' ) );
Then we’ll add the next technique to the underside of our class:
/**
* Disguise parts within the editor.
*/
public operate editor_css(): void {
wp_add_inline_style(
'elementor-editor',
'.elementor-element-wrapper.elementor-element--promotion,#elementor-panel-category-pro-elements,#elementor-panel-category-theme-elements,#elementor-panel-category-theme-elements-single,#elementor-panel-category-woocommerce-elements{show:none!necessary;}'
);
}

With the intention to take away the banner from the sidebar within the elementor widget we’ll use css as properly. We’ll Merely Replace The Earlier Snippet to Embrace a Few Extra Parts Like Such:
/**
* Disguise parts within the editor.
*/
public operate editor_css(): void {
wp_add_inline_style(
'elementor-editor',
'.elementor-element-wrapper.elementor-element--promotion,#elementor-panel-category-pro-elements,#elementor-panel-category-theme-elements,#elementor-panel-category-theme-elements-single,#elementor-panel-category-woocommerce-elements,#elementor-panel-get-pro-elements,#elementor-panel-get-pro-elements-sticky{show:none!necessary;}'
);
}

The elementor sidebar additionally has a tab for “globals” which is a professional characteristic so it is fully ineffective. We will Additional Clear Up the sidebar by eradicating this tab. Once more, we’ll be utilizing css to cover the tab since there isn’t any obtainable filter to take away through php.
Right here is the up to date editor_css technique to take away the globals tab and take away the lively border shade on the widgets tab, since there is just one tab now it can look higher this fashion.
/**
* Disguise parts within the editor.
*/
public operate editor_css(): void {
wp_add_inline_style(
'elementor-editor',
'.elementor-element-wrapper.elementor-element--promotion,#elementor-panel-category-pro-elements,#elementor-panel-category-theme-elements,#elementor-panel-category-theme-elements-single,#elementor-panel-category-woocommerce-elements,#elementor-panel-get-pro-elements,#elementor-panel-get-pro-elements-sticky,.elementor-panel-navigation-tab(data-tab=world){show:none!necessary;}.elementor-panel .elementor-panel-navigation .elementor-panel-navigation-tab(data-tab=classes).elementor-active{border-color:clear;}'
);
}

Elementor has a construction popup you should use to view all of the widgets on the web page to simply transfer them round or choose one. They’ve additionally added a promo discover on the backside of this window that hyperlinks to their websites to get all of the promos widgets.
To take away this we’ll merely add the #elementor-navigator__footer__promotion selector to the listing of selectors from the earlier snippet. Right here is the up to date editor_css
Technique:
/**
* Disguise parts within the editor.
*/
public operate editor_css(): void {
wp_add_inline_style(
'elementor-editor',
'.elementor-element-wrapper.elementor-element--promotion,#elementor-panel-category-pro-elements,#elementor-panel-category-theme-elements,#elementor-panel-category-theme-elements-single,#elementor-panel-category-woocommerce-elements,#elementor-panel-get-pro-elements,#elementor-panel-get-pro-elements-sticky,.elementor-panel-navigation-tab(data-tab=world),#elementor-navigator__footer__promotion{show:none!necessary;}'
);
}
Take away the Editor Discover Bar

Whenever you first open the elementor editor, you may discover a sticky discover bar on the backside of the web page. As a result of, in fact, there can by no means be too many upsells, proper? Whilst you can click on the “x” to shut it, this gained’t cease it from reappearing later (14 days later).
Let’s Go Again To Our editor_css
METHOD AND replace
it to incorporate the e-nootice-bar classname. Right here is the up to date technique.
/**
* Disguise parts within the editor.
*/
public operate editor_css(): void {
wp_add_inline_style(
'elementor-editor',
'.elementor-element-wrapper.elementor-element--promotion,#elementor-panel-category-pro-elements,#elementor-panel-category-theme-elements,#elementor-panel-category-theme-elements-single,#elementor-panel-category-woocommerce-elements,#elementor-panel-get-pro-elements,#elementor-panel-get-pro-elements-sticky,.elementor-panel-navigation-tab(data-tab=world),#elementor-navigator__footer__promotion,.e-notice-bar{show:none!necessary;}'
);
}
Take away the dynamic content material button

Dynamic tags are a cool operate in elementor (much like dynamic variables in complete) nevertheless it’s solely obtainable for professional customers. There is no such thing as a level in seeing the button when you cann’t really use it.
To take away the dynamic content material button we’ll replace the editor_css
Like Such Technique:
/**
* Disguise parts within the editor.
*/
public operate editor_css(): void {
wp_add_inline_style(
'elementor-editor',
'.elementor-element-wrapper.elementor-element--promotion,#elementor-panel-category-pro-elements,#elementor-panel-category-theme-elements,#elementor-panel-category-theme-elements-single,#elementor-panel-category-woocommerce-elements,#elementor-panel-get-pro-elements,#elementor-panel-get-pro-elements-sticky,.elementor-panel-navigation-tab(data-tab=world),#elementor-navigator__footer__promotion,.e-notice-bar,.elementor-control-dynamic-switcher{show:none!necessary;}.elementor-control-type-wysiwyg .tmce-active .switch-html{border-inline-end:0;}'
);
}

Elementor Additionally Provides Some Widget Settings that Aren’T Really Usable within the Free Model. These settings present a bit of lock subsequent to them and when you click on on the sector it open a popover banner. Since we won’t use these within the free model let’s conceal them as properly.
Right here is the up to date editor_css
Technique:
/**
* Disguise parts within the editor.
*/
public operate editor_css(): void {
wp_add_inline_style(
'elementor-editor',
'.elementor-element-wrapper.elementor-element--promotion,#elementor-panel-category-pro-elements,#elementor-panel-category-theme-elements,#elementor-panel-category-theme-elements-single,#elementor-panel-category-woocommerce-elements,#elementor-panel-get-pro-elements,#elementor-panel-get-pro-elements-sticky,.elementor-panel-navigation-tab(data-tab=world),#elementor-navigator__footer__promotion,.e-notice-bar,.elementor-control-dynamic-switcher,.elementor-control:has((class*="promotion__lock-wrapper")){show:none!necessary;}.elementor-control-type-wysiwyg .tmce-active .switch-html{border-inline-end:0;}'
);
}
Take away the Superior> Customized CSS Part

The container widget, together with potential different widgets (I didn’t verify all of them), Features a Customized CSS part underneath the Superior Tab. We will conceal this part utilizing css as properly.
Right here is the up to date editor_css
Technique:
/**
* Disguise parts within the editor.
*/
public operate editor_css(): void {
wp_add_inline_style(
'elementor-editor',
'.elementor-element-wrapper.elementor-element--promotion,#elementor-panel-category-pro-elements,#elementor-panel-category-theme-elements,#elementor-panel-category-theme-elements-single,#elementor-panel-category-woocommerce-elements,#elementor-panel-get-pro-elements,#elementor-panel-get-pro-elements-sticky,.elementor-panel-navigation-tab(data-tab=world),#elementor-navigator__footer__promotion,.e-notice-bar,.elementor-control-dynamic-switcher,.elementor-control:has((class*="promotion__lock-wrapper")),.elementor-control-section_custom_css_pro{show:none!necessary;}.elementor-control-type-wysiwyg .tmce-active .switch-html{border-inline-end:0;}'
);
}
Take away the Superior> Attributes Part

All widgets have an attribute part situated within the superior tab. This can be a actually superior operate in elementor Professional (One other Cause You Actually Ought to Buy it) however once more, if you’re utilizing the free model you’ll merely see a banner to buy professional. We’ll additionally makes use of css to cover this part.
Right here is the up to date editor_css
Technique:
/**
* Disguise parts within the editor.
*/
public operate editor_css(): void {
wp_add_inline_style(
'elementor-editor',
'.elementor-element-wrapper.elementor-element--promotion,#elementor-panel-category-pro-elements,#elementor-panel-category-theme-elements,#elementor-panel-category-theme-elements-single,#elementor-panel-category-woocommerce-elements,#elementor-panel-get-pro-elements,#elementor-panel-get-pro-elements-sticky,.elementor-panel-navigation-tab(data-tab=world),#elementor-navigator__footer__promotion,.e-notice-bar,.elementor-control-dynamic-switcher,.elementor-control:has((class*="promotion__lock-wrapper")),.elementor-control-section_custom_css_pro,elementor-control-section_custom_attributes_pro{show:none!necessary;}.elementor-control-type-wysiwyg .tmce-active .switch-html{border-inline-end:0;}'
);
}

I am positive lots of you, like me, do not spend a lot time on the wordpress “dashboard” web page. Howver, that is the default web page you are redirected to while you log into wordpress. Elementor provides a customized widget to the dashboard that shows a feed from their weblog – and naturally, extra upsell hyperlinks!
Add the next to the register_actions
Technique:
add_action( 'wp_dashboard_setup', ( $this, 'remove_dashboard_widget' ), PHP_INT_MAX );
Then add the next technique to the underside of the category:
/**
* Take away dashboard widget.
*/
public operate remove_dashboard_widget(): void {
remove_meta_box( 'e-dashboard-overview', 'dashboard', 'regular' );
}
Ultimate Code & Plugin
In case you observe alongside you must now have a category that appears like this:
/**
* Take away Elementor Upsells.
*/
class WPEX_Remove_Elementor_Upsells {
/**
* Constructor.
*/
public operate __construct() {
if ( did_action( 'elementor/loaded' ) ) {
$this->register_actions();
} else {
add_action( 'elementor/loaded', ( $this, 'register_actions' ) );
}
}
/**
* Register our fundamental class actions.
*/
public operate register_actions(): void {
if ( is_callable( 'ElementorUtils::has_pro' ) && ElementorUtils::has_pro() ) {
return; // bail early if we're utilizing Elementor Professional.
}
add_action( 'elementor/admin/menu/after_register', ( $this, 'remove_admin_pages' ), PHP_INT_MAX, 2 );
add_action( 'elementor/admin_top_bar/before_enqueue_scripts', ( $this, 'admin_top_bar_css' ) );
add_filter( 'elementor/frontend/admin_bar/settings', ( $this, 'modify_admin_bar' ), PHP_INT_MAX );
add_action( 'elementor/editor/after_enqueue_styles', ( $this, 'editor_css' ) );
add_action( 'wp_dashboard_setup', ( $this, 'remove_dashboard_widget' ), PHP_INT_MAX );
}
/**
* Take away admin pages.
*/
public operate remove_admin_pages( $menu_manager, $hooks ): void {
$pages_to_remove = ();
$subpages_to_remove = ();
if ( is_callable( ( $menu_manager, 'get_all' ) ) ) {
foreach ( (array) $menu_manager->get_all() as $item_slug => $merchandise ) {
if ( isset( $hooks( $item_slug ) )
&& is_object( $merchandise )
&& ( is_subclass_of( $merchandise, 'ElementorModulesPromotionsAdminMenuItemsBase_Promotion_Item' )
|| is_subclass_of( $merchandise, 'ElementorModulesPromotionsAdminMenuItemsBase_Promotion_Template' )
|| 'elementor-apps' === $item_slug
)
) {
$parent_slug = is_callable( ( $merchandise, 'get_parent_slug' ) ) ? $item->get_parent_slug() : '';
if ( ! empty( $parent_slug ) ) {
$subpages_to_remove() = ( $parent_slug, $item_slug );
} else {
$pages_to_remove() = $hooks( $item_slug );
}
}
}
}
foreach ( $pages_to_remove as $menu_slug ) {
remove_menu_page( $menu_slug );
}
foreach ( $subpages_to_remove as $subpage ) {
remove_submenu_page( $subpage(0), $subpage(1) );
}
remove_submenu_page( 'elementor', 'go_knowledge_base_site' );
remove_submenu_page( 'elementor', 'go_elementor_pro' );
if ( ! isset( $_GET('web page') ) || 'elementor-app' !== $_GET('web page') ) {
remove_submenu_page( 'edit.php?post_type=elementor_library', 'elementor-app' );
}
}
/**
* Add inline CSS to switch the Elementor admin high bar.
*/
public operate admin_top_bar_css(): void {
$target_icon_classes = (
'.eicon-integration', // Add-ons
'.eicon-upgrade-crown', // Improve now
);
wp_add_inline_style(
'elementor-admin-top-bar',
'.e-admin-top-bar__bar-button:has(' . implode( ',', $target_icon_classes ) . '){show:none!necessary;}'
);
}
/**
* Modify the admin bar hyperlinks.
*/
public operate modify_admin_bar( $admin_bar_config ) {
if ( isset( $admin_bar_config('elementor_edit_page')('kids') )
&& is_array( $admin_bar_config('elementor_edit_page')('kids') )
) {
foreach ( $admin_bar_config('elementor_edit_page')('kids') as $okay => $merchandise ) {
if ( isset( $merchandise('id') ) && 'elementor_app_site_editor' === $merchandise('id') ) {
unset( $admin_bar_config('elementor_edit_page')('kids')( $okay ) );
break;
}
}
}
return $admin_bar_config;
}
/**
* Disguise parts within the editor.
*/
public operate editor_css(): void {
wp_add_inline_style(
'elementor-editor',
'.elementor-element-wrapper.elementor-element--promotion,#elementor-panel-category-pro-elements,#elementor-panel-category-theme-elements,#elementor-panel-category-theme-elements-single,#elementor-panel-category-woocommerce-elements,#elementor-panel-get-pro-elements,#elementor-panel-get-pro-elements-sticky,.elementor-panel-navigation-tab(data-tab=world),#elementor-navigator__footer__promotion,.e-notice-bar,.elementor-control-dynamic-switcher,.elementor-control:has((class*="promotion__lock-wrapper")),.elementor-control-section_custom_css_pro{show:none!necessary;}.elementor-control-type-wysiwyg .tmce-active .switch-html{border-inline-end:0;}'
);
}
/**
* Take away dashboard widget.
*/
public operate remove_dashboard_widget(): void {
remove_meta_box( 'e-dashboard-overview', 'dashboard', 'regular' );
}
}
new WPEX_Remove_Elementor_Upsells;
You may copy and paste this code into your customized wordpress mother or father or little one theme operate.php file or together with it through it is personal file (advisable).
Alternatively, I add the code right into a helpful plugin that you may obtain from github and set up in your website. I will not importing this plugin to the wordpress repository, so if it wants updating you have to to be manually patching it.
Conclusion
If it is inside your funds, you must head over and buy elementor professional (affiliate hyperlink). Even when you do not want any of the premium options, when you use elementors in any respect, it is good to provide again to the builders and assist help the product.
Did I miss something? Which plugin is subsequent?
If there’s a plugin you might be utilizing that bombards you with ads and promos, point out me @wpexplorer (on x/twitter). If the plugin is fashionable sufficient i’ll contemplate writing as related information for that one subsequent.
Or if i missed something in elementor let me know!
Hyperlink: https://www.wpexplorer.com/complete-guide-to-removing-elementor-upsells/