Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
immortalist
/
wp-content
/
themes
/
woodmart
/
inc
/
integrations
/
elementor
/
elements
/
button
:
class-button.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php /** * Button map. * * @package xts */ namespace XTS\Elementor; use Elementor\Group_Control_Image_Size; use Elementor\Group_Control_Typography; use Elementor\Widget_Base; use Elementor\Controls_Manager; use Elementor\Plugin; if ( ! defined( 'ABSPATH' ) ) { exit; // Direct access not allowed. } /** * Elementor widget that inserts an embeddable content into the page, from any given URL. * * @since 1.0.0 */ class Button extends Widget_Base { /** * Get widget name. * * @since 1.0.0 * @access public * * @return string Widget name. */ public function get_name() { return 'wd_button'; } /** * Get widget title. * * @since 1.0.0 * @access public * * @return string Widget title. */ public function get_title() { return esc_html__( 'Button', 'woodmart' ); } /** * Get widget icon. * * @since 1.0.0 * @access public * * @return string Widget icon. */ public function get_icon() { return 'wd-icon-button'; } /** * Get widget categories. * * @since 1.0.0 * @access public * * @return array Widget categories. */ public function get_categories() { return [ 'wd-elements' ]; } /** * Register the widget controls. * * @since 1.0.0 * @access protected */ protected function register_controls() { /** * Content tab. */ /** * General settings. */ $this->start_controls_section( 'general_content_section', [ 'label' => esc_html__( 'General', 'woodmart' ), ] ); woodmart_get_button_content_general_map( $this ); $this->end_controls_section(); /** * Style tab. */ /** * General settings. */ $this->start_controls_section( 'general_style_section', [ 'label' => esc_html__( 'General', 'woodmart' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); woodmart_get_button_style_general_map( $this ); $this->add_group_control( Group_Control_Typography::get_type(), array( 'label' => esc_html__( 'Typography', 'woodmart' ), 'name' => 'typography', 'selector' => '{{WRAPPER}} .wd-btn-text', ) ); $this->end_controls_section(); /** * Layout settings. */ $this->start_controls_section( 'layout_style_section', [ 'label' => esc_html__( 'Layout', 'woodmart' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); woodmart_get_button_style_layout_map( $this ); $this->end_controls_section(); /** * Icon settings. */ $this->start_controls_section( 'icon_style_section', [ 'label' => esc_html__( 'Icon', 'woodmart' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); woodmart_get_button_style_icon_map( $this ); $this->end_controls_section(); } /** * Render the widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * * @access protected */ protected function render() { woodmart_elementor_button_template( $this->get_settings_for_display() ); } } Plugin::instance()->widgets_manager->register( new Button() );