remove_control('section_custom_css_pro'); $element->start_controls_section( 'section_custom_css', [ 'label' => __( 'Custom CSS', 'advanced-animation' ), 'tab' => Controls_Manager::TAB_ADVANCED, ] ); $element->add_control( 'custom_css_title', [ 'raw' => __( 'Add your own custom CSS here', 'advanced-animation' ), 'type' => Controls_Manager::RAW_HTML, ] ); $element->add_control( 'custom_css', [ 'type' => Controls_Manager::CODE, 'label' => __( 'Custom CSS', 'advanced-animation' ), 'language' => 'css', 'render_type' => 'ui', 'show_label' => false, 'separator' => 'none', ] ); $element->add_control( 'custom_css_description', [ 'raw' => __( 'Use "selector" to target wrapper element. Examples:
selector {color: red;} // For main element
selector .child-element {margin: 10px;} // For child element
.my-class {text-align: center;} // Or use any custom selector', 'advanced-animation' ), 'type' => Controls_Manager::RAW_HTML, 'content_classes' => 'Theme_pawshop elementor-descriptor', ] ); $element->end_controls_section(); } } /** * @param $post_css Post * @param $element Element_Base */ public function add_post_css($post_css, $element) { if ($post_css instanceof Dynamic_CSS) { return; } $element_settings = $element->get_settings(); if (empty($element_settings['custom_css'])) { return; } $css = trim($element_settings['custom_css']); if (empty($css)) { return; } $css = str_replace('selector', $post_css->get_element_unique_selector($element), $css); // Add a css comment $css = sprintf('/* Start custom CSS for %s, class: %s */', $element->get_name(), $element->get_unique_selector()) . $css . '/* End custom CSS */'; $post_css->get_stylesheet()->add_raw_css($css); } /** * @param $post_css Post */ public function add_page_settings_css( $post_css ) { $document = \Elementor\Plugin::$instance->documents->get( $post_css->get_post_id() ); $custom_css = $document->get_settings( 'custom_css' ); $custom_css = trim( $custom_css ); if ( empty( $custom_css ) ) { return; } $custom_css = str_replace( 'selector', $document->get_css_wrapper_selector(), $custom_css ); // Add a css comment $custom_css = '/* Start custom CSS for page-settings */' . $custom_css . '/* End custom CSS */'; $post_css->get_stylesheet()->add_raw_css( $custom_css ); } } new Prefix_Custom_Css();