BossBey File Manager
PHP:
8.2.30
OS:
Linux
User:
imagivibe
Root
/
home
/
imagivibe
/
public_html
/
wp-content
/
plugins
/
porto-functionality
/
elementor
/
widgets
📤 Upload
📝 New File
📁 New Folder
Close
Editing: sidebar_menu.php
<?php if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Porto Elementor Side Menu Widget * * Porto Elementor widget to display a side menu. * * @since 1.7.1 */ use Elementor\Controls_Manager; use Elementor\Core\Kits\Documents\Tabs\Global_Colors; use Elementor\Core\Kits\Documents\Tabs\Global_Typography; use Elementor\Group_Control_Border; use Elementor\Group_Control_Typography; class Porto_Elementor_Sidebar_Menu_Widget extends \Elementor\Widget_Base { public function get_name() { return 'porto_sidebar_menu'; } public function get_title() { return __( 'Porto Side Menu', 'porto-functionality' ); } public function get_categories() { return array( 'porto-elements' ); } public function has_widget_inner_wrapper(): bool { return ! Elementor\Plugin::$instance->experiments->is_feature_active( 'e_optimized_markup' ); } public function get_keywords() { return array( 'sidebar', 'menu', 'navigation', 'vertical' ); } public function get_script_depends() { $depends = array(); if ( isset( $_REQUEST['elementor-preview'] ) ) { $depends[] = 'porto-sidebar-menu'; } return $depends; } protected function is_dynamic_content(): bool { return false; } public function get_icon() { return 'eicon-navigation-vertical porto-elementor-widget-icon'; } protected function register_controls() { $left = is_rtl() ? 'right' : 'left'; $right = is_rtl() ? 'left' : 'right'; $custom_menus = array(); $menus = get_terms( array( 'taxonomy' => 'nav_menu', 'hide_empty' => false, ) ); if ( is_array( $menus ) && ! empty( $menus ) ) { foreach ( $menus as $single_menu ) { if ( is_object( $single_menu ) && isset( $single_menu->name, $single_menu->term_id ) ) { $custom_menus[ $single_menu->term_id ] = $single_menu->name; } } } $this->start_controls_section( 'section_sidebar_menu', array( 'label' => __( 'Side Menu', 'porto-functionality' ), ) ); $this->add_control( 'description_sidebar_menu', array( 'type' => Controls_Manager::RAW_HTML, 'raw' => sprintf( esc_html__( 'Please change the side menu type on %1$sTheme Option > Side Menu Type%2$s.', 'porto-functionality' ), '<a target="_blank" href="' . porto_get_theme_option_url( 'side-menu-type' ) . '"><b>', '</b></a>' ), 'content_classes' => 'elementor-panel-alert elementor-panel-alert-info', ) ); $this->add_control( 'title', array( 'label' => __( 'Title', 'porto-functionality' ), 'type' => Controls_Manager::TEXT, ) ); $this->add_control( 'nav_menu', array( 'label' => __( 'Menu', 'porto-functionality' ), 'type' => Controls_Manager::SELECT, 'options' => $custom_menus, /* translators: opening and closing bold tags */ 'description' => empty( $custom_menus ) ? sprintf( esc_html__( 'Custom menus not found. Please visit %1$sAppearance > Menus%2$s page to create new menu.', 'porto-functionality' ), '<b>', '</b>' ) : esc_html__( 'Select menu to display.', 'porto-functionality' ), ) ); $this->add_control( 'el_class', array( 'label' => __( 'Custom CSS Class', 'porto-functionality' ), 'type' => Controls_Manager::TEXT, ) ); $this->end_controls_section(); // style options $this->start_controls_section( 'sidebar_menu_style', array( 'label' => __( 'Menu', 'porto-functionality' ), 'tab' => Controls_Manager::TAB_STYLE, ) ); $this->add_control( 'menu_bgc', array( 'label' => __( 'Background Color', 'porto-functionality' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '.elementor-element-{{ID}} .widget_sidebar_menu' => 'background-color: {{VALUE}};', ), ) ); $this->add_group_control( Group_Control_Border::get_type(), array( 'name' => 'menu_bd', 'selector' => '.elementor-element-{{ID}} .widget_sidebar_menu', ) ); $this->add_control( 'icon_fs', array( 'type' => Controls_Manager::SLIDER, 'label' => __( 'Icon Font Size', 'porto-functionality' ), 'range' => array( 'px' => array( 'step' => 1, 'min' => 1, 'max' => 50, ), ), 'default' => array( 'unit' => 'px', ), 'size_units' => array( 'px', 'rem', ), 'selectors' => array( '.elementor-element-{{ID}} .sidebar-menu li.menu-item > a > i' => 'font-size: {{SIZE}}{{UNIT}};', '.elementor-element-{{ID}} li.menu-item>a>[class*=" fa-"]' => 'width: auto;', ), 'qa_selector' => '.sidebar-menu li.menu-item > a > i', ) ); $this->add_control( 'icon_space', array( 'type' => Controls_Manager::SLIDER, 'label' => __( 'Icon Space', 'porto-functionality' ), 'range' => array( 'px' => array( 'step' => 1, 'min' => 0, 'max' => 50, ), ), 'default' => array( 'unit' => 'px', ), 'size_units' => array( 'px', ), 'selectors' => array( '.elementor-element-{{ID}} .sidebar-menu li.menu-item > a > i' => "margin-{$right}: {{SIZE}}{{UNIT}};", ), ) ); $this->end_controls_section(); $this->start_controls_section( 'sidebar_menu_item_style', array( 'label' => __( 'Top Level Menu Item', 'porto-functionality' ), 'tab' => Controls_Manager::TAB_STYLE, ) ); $this->add_group_control( Group_Control_Typography::get_type(), array( 'name' => 'item_tg', 'label' => __( 'Typography', 'porto-functionality' ), 'selector' => '.elementor-element-{{ID}} .sidebar-menu > li.menu-item > a, .elementor-element-{{ID}} .sidebar-menu > li.menu-item', ) ); $this->add_control( 'item_mg', array( 'type' => Controls_Manager::SLIDER, 'label' => __( 'Left & Right Spacing', 'porto-functionality' ), 'range' => array( 'px' => array( 'step' => 1, 'min' => 0, 'max' => 50, ), 'em' => array( 'step' => 0.1, 'min' => 0, 'max' => 5, ), 'rem' => array( 'step' => 0.1, 'min' => 0, 'max' => 5, ), ), 'default' => array( 'unit' => 'px', ), 'size_units' => array( 'px', 'em', 'rem', ), 'selectors' => array( '.elementor-element-{{ID}} .sidebar-menu > li.menu-item > a' => 'margin-left: {{SIZE}}{{UNIT}}; margin-right: {{SIZE}}{{UNIT}};', ), 'qa_selector' => '.sidebar-menu > li.menu-item:first-child > a', ) ); $this->add_responsive_control( 'item_pd', array( 'type' => Controls_Manager::DIMENSIONS, 'label' => __( 'Padding', 'porto-functionality' ), 'selectors' => array( '.elementor-element-{{ID}} .sidebar-menu > li.menu-item > a' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', '.elementor-element-{{ID}} .sidebar-menu .popup:before' => 'top: calc( calc( {{TOP}}{{UNIT}} / 2 + {{BOTTOM}}{{UNIT}} / 2 - 0.5px ) + ( -1 * var(--porto-sd-menu-popup-top, 0px) ) );', '.elementor-element-{{ID}} .sidebar-menu > li.menu-item > .arrow' => 'margin: 0; top: calc( {{TOP}}{{UNIT}} / 2 + {{BOTTOM}}{{UNIT}} / 2 - 6px );', '#header .elementor-element-{{ID}} .sidebar-menu > li.menu-item > .arrow' => 'top: calc( {{TOP}}{{UNIT}} / 2 + {{BOTTOM}}{{UNIT}} / 2 - 6px );', ), 'size_units' => array( 'px', 'em', 'rem' ), ) ); $this->add_control( 'arrow_rp', array( 'type' => Controls_Manager::SLIDER, 'label' => __( 'Arrow right position', 'porto-functionality' ), 'range' => array( 'px' => array( 'step' => 1, 'min' => 0, 'max' => 50, ), 'em' => array( 'step' => 0.1, 'min' => 0, 'max' => 5, ), 'rem' => array( 'step' => 0.1, 'min' => 0, 'max' => 5, ), ), 'default' => array( 'unit' => 'px', ), 'size_units' => array( 'px', 'em', 'rem', ), 'selectors' => array( '.elementor-element-{{ID}} .sidebar-menu > li.menu-item > .arrow' => ( is_rtl() ? 'left' : 'right' ) . ': {{SIZE}}{{UNIT}};', '#header .elementor-element-{{ID}} .sidebar-menu li.menu-item > .arrow' => ( is_rtl() ? 'left' : 'right' ) . ': {{SIZE}}{{UNIT}};', '.elementor-element-{{ID}} .side-menu-slide .menu-item-has-children>a:after' => ( is_rtl() ? 'right' : 'left' ) . ': {{SIZE}}{{UNIT}};', '.elementor-element-{{ID}} .side-menu-columns>.menu-item-has-children>a:after, .elementor-element-{{ID}} .side-menu-columns .narrow .menu-item-has-children>a:after' => ( is_rtl() ? 'left' : 'right' ) . ': {{SIZE}}{{UNIT}};', ), 'qa_selector' => '.sidebar-menu > li.menu-item > .arrow', ) ); $this->add_control( 'item_clr', array( 'label' => __( 'Color', 'porto-functionality' ), 'type' => Controls_Manager::COLOR, 'separator' => 'before', 'selectors' => array( '.elementor-element-{{ID}} .sidebar-menu > li.menu-item > a' => 'color: {{VALUE}};', ), ) ); $this->add_control( 'item_bc', array( 'label' => __( 'Border Top Color', 'porto-functionality' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '.elementor-element-{{ID}} .sidebar-menu > li.menu-item > a, .elementor-element-{{ID}} .sidebar-menu > li.menu-item:hover + li.menu-item > a' => 'border-top-color: {{VALUE}};', ), ) ); $this->add_control( 'item_bbc', array( 'label' => __( 'Border Bottom Color for Side Header', 'porto-functionality' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '#header .elementor-element-{{ID}} .sidebar-menu > li > a' => 'border-bottom-color: {{VALUE}};', ), ) ); $this->add_control( 'arrow_clr', array( 'label' => __( 'Arrow Color', 'porto-functionality' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '.elementor-element-{{ID}} .sidebar-menu > li.menu-item > .arrow:before' => 'color: {{VALUE}};', '.elementor-element-{{ID}} .side-menu-slide .menu-item-has-children>a:after' => 'color: {{VALUE}};', '.elementor-element-{{ID}} .side-menu-columns>.menu-item-has-children>a:after, .elementor-element-{{ID}} .side-menu-columns .narrow .menu-item-has-children>a:after' => 'color: {{VALUE}};', ), ) ); $this->add_control( 'item_hover_bgc', array( 'label' => __( 'Hover Background Color', 'porto-functionality' ), 'type' => Controls_Manager::COLOR, 'separator' => 'before', 'selectors' => array( '.elementor-element-{{ID}} .sidebar-menu > li.menu-item:hover, .elementor-element-{{ID}} .sidebar-menu > li.menu-item.open, .elementor-element-{{ID}} .sidebar-menu > li.menu-item.active' => 'background-color: {{VALUE}};', ), ) ); $this->add_control( 'item_hover_clr', array( 'label' => __( 'Hover Color', 'porto-functionality' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '.elementor-element-{{ID}} .sidebar-menu > li.menu-item:hover > a, .elementor-element-{{ID}} .sidebar-menu > li.menu-item.open > a, .elementor-element-{{ID}} .sidebar-menu > li.menu-item.active > a' => 'color: {{VALUE}};', ), ) ); $this->add_control( 'item_hover_bc', array( 'label' => __( 'Hover Border Top Color', 'porto-functionality' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '.elementor-element-{{ID}} .sidebar-menu > li.menu-item:hover > a, .elementor-element-{{ID}} .sidebar-menu > li.menu-item.open > a, .elementor-element-{{ID}} .sidebar-menu > li.menu-item.active > a' => 'border-top-color: {{VALUE}};', ), ) ); $this->add_control( 'arrow_hover_clr', array( 'label' => __( 'Hover Arrow Color', 'porto-functionality' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '.elementor-element-{{ID}} .sidebar-menu > li.menu-item:hover > .arrow:before, .elementor-element-{{ID}} .sidebar-menu > li.menu-item.active > .arrow:before' => 'color: {{VALUE}};', '.elementor-element-{{ID}} .side-menu-slide .menu-item-has-children:hover>a:after, .elementor-element-{{ID}} .side-menu-slide .menu-item-has-children.active>a:after' => 'color: {{VALUE}};', '.elementor-element-{{ID}} .side-menu-columns>.menu-item-has-children:hover>a:after, .elementor-element-{{ID}} .side-menu-columns .narrow .menu-item-has-children:hover>a:after, .elementor-element-{{ID}} .side-menu-columns>.menu-item-has-children.active>a:after, .elementor-element-{{ID}} .side-menu-columns .narrow .menu-item-has-children.active>a:after' => 'color: {{VALUE}};', ), ) ); $this->end_controls_section(); $this->start_controls_section( 'sidebar_sub_style', array( 'label' => __( 'Sub Menu', 'porto-functionality' ), 'tab' => Controls_Manager::TAB_STYLE, ) ); $this->add_group_control( Group_Control_Typography::get_type(), array( 'name' => 'sub_tg', 'label' => __( 'Typography', 'porto-functionality' ), 'selector' => '.elementor-element-{{ID}} .sidebar-menu .popup', ) ); $this->add_control( 'sub_clr', array( 'label' => __( 'Color', 'porto-functionality' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '.elementor-element-{{ID}} .sidebar-menu .popup' => 'color: {{VALUE}};', ), ) ); $this->add_control( 'sub_bgc', array( 'label' => __( 'Background Color', 'porto-functionality' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '.elementor-element-{{ID}} .wide .popup > .inner, .elementor-element-{{ID}} .side-menu-slide .wide ul.sub-menu, .elementor-element-{{ID}} .narrow ul.sub-menu' => 'background-color: {{VALUE}};', // '.elementor-element-{{ID}} .popup:before' => 'border-' . ( is_rtl() ? 'left' : 'right' ) . '-color: {{VALUE}};', '.elementor-element-{{ID}} .popup:before' => 'border-left-color: {{VALUE}};border-right-color: {{VALUE}};', '#header .elementor-element-{{ID}} .popup:before' => 'border-left-color: {{VALUE}};border-right-color: {{VALUE}};', ), 'qa_selector' => '.sidebar-menu>li.has-sub>.popup', ) ); $this->add_responsive_control( 'sub_pd', array( 'type' => Controls_Manager::DIMENSIONS, 'label' => __( 'Padding', 'porto-functionality' ), 'selectors' => array( '.elementor-element-{{ID}} .side-menu-accordion .popup .sub-menu, .elementor-element-{{ID}} .side-menu-slide .popup .sub-menu, .elementor-element-{{ID}} .sidebar-menu:not(.side-menu-slide) .wide .popup > .inner, .elementor-element-{{ID}} .narrow ul.sub-menu' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', '.elementor-element-{{ID}} .narrow ul.sub-menu' => 'top: -{{TOP}}{{UNIT}}', ), 'size_units' => array( 'px', 'em', 'rem' ), ) ); $this->add_responsive_control( 'sub_sub_lpd', array( 'type' => Controls_Manager::SLIDER, 'label' => __( 'Left padding in third level menu', 'porto-functionality' ), 'range' => array( 'px' => array( 'step' => 1, 'min' => 0, 'max' => 50, ), 'em' => array( 'step' => 0.1, 'min' => 0, 'max' => 5, ), 'rem' => array( 'step' => 0.1, 'min' => 0, 'max' => 5, ), ), 'default' => array( 'unit' => 'px', ), 'size_units' => array( 'px', 'em', 'rem', ), 'selectors' => array( '.elementor-element-{{ID}} .narrow ul.sub-menu ul.sub-menu' => 'padding-' . ( is_rtl() ? 'right' : 'left' ) . ': {{SIZE}}{{UNIT}};', ), 'qa_selector' => '.narrow .inner>.sub-menu>li.menu-item-has-children>.sub-menu', ) ); $this->add_group_control( Group_Control_Typography::get_type(), array( 'name' => 'sub_label_tg', 'label' => __( 'Label Typography in wide sub menu', 'porto-functionality' ), 'selector' => '.elementor-element-{{ID}} .wide li.sub > a, #header .elementor-element-{{ID}} .sidebar-menu .wide li.sub > a', ) ); $this->add_control( 'sub_label_clr', array( 'label' => __( 'Label Color in wide sub menu', 'porto-functionality' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '.elementor-element-{{ID}} .wide li.sub > a' => 'color: {{VALUE}};', ), 'qa_selector' => '.wide li.sub > a', ) ); $this->end_controls_section(); $this->start_controls_section( 'sidebar_subitem_style', array( 'label' => __( 'Sub Menu Item', 'porto-functionality' ), 'tab' => Controls_Manager::TAB_STYLE, ) ); $this->add_responsive_control( 'subitem_pd', array( 'type' => Controls_Manager::DIMENSIONS, 'label' => __( 'Padding', 'porto-functionality' ), 'selectors' => array( '.elementor-element-{{ID}} .wide li.sub li.menu-item > a, .elementor-element-{{ID}} .narrow li.menu-item > a' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', '.elementor-element-{{ID}} .wide li.sub li.menu-item > a' => 'margin-left: calc(-1 * {{LEFT}}{{UNIT}});', '.elementor-element-{{ID}} .side-menu-slide .popup .sub-menu li.menu-item>a' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', '.elementor-element-{{ID}} .narrow li.menu-item>.arrow, #header .elementor-element-{{ID}} .narrow li.menu-item>.arrow' => 'top: calc( {{TOP}}{{UNIT}} / 2 + {{BOTTOM}}{{UNIT}} / 2 - 6px );', ), 'size_units' => array( 'px', 'em', 'rem' ), ) ); $this->add_control( 'subitem_clr', array( 'label' => __( 'Color', 'porto-functionality' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '.elementor-element-{{ID}} .sidebar-menu .narrow li.menu-item > a, .elementor-element-{{ID}} .wide li.sub li.menu-item > a' => 'color: {{VALUE}};', '#header .elementor-element-{{ID}} .porto-wide-sub-menu li.sub li.menu-item > a' => 'color: {{VALUE}};', ), 'qa_selector' => '.wide .inner>.sub-menu .sub-menu li.menu-item:first-child > a, .narrow .inner>.sub-menu>li:first-child > a', ) ); $this->start_controls_tabs( 'subitem_style' ); $this->start_controls_tab( 'subitem_narrow', array( 'label' => __( 'Narrow Menu Item', 'porto-functionality' ), ) ); $this->add_control( 'subitem_narrow_bc', array( 'label' => __( 'Border Color', 'porto-functionality' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '.elementor-element-{{ID}} .narrow li.menu-item > a' => 'border-bottom-color: {{VALUE}};', ), ) ); $this->add_control( 'subitem_hover_clr', array( 'label' => __( 'Color on hover', 'porto-functionality' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '.elementor-element-{{ID}} .sidebar-menu .narrow li.menu-item:hover > a' => 'color: {{VALUE}};', ), ) ); $this->add_control( 'subitem_hover_bgc', array( 'label' => __( 'Background on hover', 'porto-functionality' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '.elementor-element-{{ID}} .sidebar-menu .narrow li.menu-item:hover > a' => 'background-color: {{VALUE}};', '#header .elementor-element-{{ID}} .sidebar-menu .narrow .menu-item:hover > a' => 'background-color: {{VALUE}};', ), ) ); $this->add_control( 'subitem_hover_td', array( 'label' => __( 'Text decoration on hover', 'porto-functionality' ), 'type' => Controls_Manager::SELECT, 'options' => array( '' => __( 'Default', 'porto-functionality' ), 'none' => 'none', 'underline' => 'underline', 'overline' => 'overline', 'line-through' => 'line-through', 'blink' => 'blink', ), 'selectors' => array( '.elementor-element-{{ID}} .narrow li.menu-item > a:hover' => 'text-decoration: {{VALUE}};', ), ) ); $this->end_controls_tab(); $this->start_controls_tab( 'subitem_wide', array( 'label' => __( 'Wide Menu Item', 'porto-functionality' ), ) ); $this->add_control( 'sub_wide_item_hover_clr', array( 'label' => __( 'Color on hover', 'porto-functionality' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '.elementor-element-{{ID}} .wide li.sub li.menu-item:hover > a' => 'color: {{VALUE}};', '#header .elementor-element-{{ID}} .porto-wide-sub-menu li.sub li.menu-item:hover > a' => 'color: {{VALUE}};', ), ) ); $this->add_control( 'sub_wide_item_hover_bgc', array( 'label' => __( 'Background on hover', 'porto-functionality' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '.elementor-element-{{ID}} .wide li.sub li.menu-item:hover > a' => 'background-color: {{VALUE}}; text-decoration: none;', '#header .elementor-element-{{ID}} .sidebar-menu .wide li.menu-item li.menu-item > a:hover' => 'background-color: {{VALUE}}; text-decoration: none;', ), ) ); $this->add_control( 'sub_wide_item_hover_td', array( 'label' => __( 'Text decoration on hover', 'porto-functionality' ), 'type' => Controls_Manager::SELECT, 'options' => array( '' => __( 'Default', 'porto-functionality' ), 'none' => 'none', 'underline' => 'underline', 'overline' => 'overline', 'line-through' => 'line-through', 'blink' => 'blink', ), 'selectors' => array( '.elementor-element-{{ID}} .wide li.sub li.menu-item > a:hover' => 'text-decoration: {{VALUE}};', '#header .elementor-element-{{ID}} .sidebar-menu .wide li.menu-item li.menu-item > a:hover' => 'text-decoration: {{VALUE}};', ), ) ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->end_controls_section(); $this->start_controls_section( 'sidebar_tip_style', array( 'label' => __( 'Tip', 'porto-functionality' ), 'tab' => Controls_Manager::TAB_STYLE, 'qa_selector' => '.tip', ) ); $this->add_group_control( Group_Control_Typography::get_type(), array( 'name' => 'tip_tg', 'label' => __( 'Typography', 'porto-functionality' ), 'selector' => '.elementor-element-{{ID}} .tip', ) ); $this->add_control( 'tip_pd', array( 'type' => Controls_Manager::DIMENSIONS, 'label' => __( 'Padding', 'porto-functionality' ), 'selectors' => array( '.elementor-element-{{ID}} .tip' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ), 'size_units' => array( 'px', 'em', 'rem' ), ) ); $this->add_control( 'tip_bgc', array( 'label' => __( 'Background Color', 'porto-functionality' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '.elementor-element-{{ID}} .tip' => 'background-color: {{VALUE}};border-color: {{VALUE}};', ), ) ); $this->add_control( 'tip_clr', array( 'label' => __( 'Text Color', 'porto-functionality' ), 'type' => Controls_Manager::COLOR, 'selectors' => array( '.elementor-element-{{ID}} .tip' => 'color: {{VALUE}};', ), ) ); $this->end_controls_section(); } protected function render() { $atts = $this->get_settings_for_display(); if ( $template = porto_shortcode_template( 'porto_sidebar_menu' ) ) { include $template; } } }
Save
Cancel