| Server IP : 89.108.64.180 / Your IP : 216.73.216.60 Web Server : Apache/2.4.41 (Ubuntu) System : Linux 89-108-64-180.cloudvps.regruhosting.ru 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : www-root ( 1010) PHP Version : 8.0.30 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/hostel76.com/wp-content/themes/hotelmaster/elementor/ |
Upload File : |
<?php
add_action( 'elementor/widgets/widgets_registered', 'hotelmaster_register_elementor_room_category_widget' );
function hotelmaster_register_elementor_room_category_widget(){
if( !function_exists('gdlr_print_room_category_item') ) return;
\Elementor\Plugin::instance()->widgets_manager->register_widget_type( new \Hotelmaster_Elementor_Room_Category_Widget() );
}
class Hotelmaster_Elementor_Room_Category_Widget extends \Elementor\Widget_Base {
public function get_name() {
return 'hotel-room-category';
}
public function get_title() {
return __( 'Hotel Room Category', 'gdlr_translate' );
}
public function get_icon() {
return 'fa fa-hotel';
}
public function get_categories() {
return [ 'hotelmaster' ];
}
protected function _register_controls() {
// settings
$this->start_controls_section( 'settings-section',
[
'label' => __( 'Settings', 'gdlr_translate' ),
'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
]
);
$this->add_control( 'category',
[
'label' => __( 'Select Category To Display', 'gdlr_translate' ),
'type' => \Elementor\Controls_Manager::SELECT2,
'options' => gdlr_get_term_list('room_category'),
'multiple' => true
]
);
$this->add_control( 'item-size',
[
'label' => __( 'Column Size', 'gdlr_translate' ),
'type' => \Elementor\Controls_Manager::SELECT,
'options' => [
'1' => '1',
'2' => '2',
'3' => '3',
'4' => '4',
],
'default' => '3',
]
);
$this->add_control( 'thumbnail-size',
[
'label' => __( 'Thumbnail Size', 'gdlr_translate' ),
'type' => \Elementor\Controls_Manager::SELECT,
'options' => gdlr_get_thumbnail_list(),
'default' => 'full'
]
);
$this->end_controls_section();
// title
$this->start_controls_section( 'title-section',
[
'label' => __( 'Title', 'gdlr_translate' ),
'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
]
);
$this->add_control( 'title-type',
[
'label' => __( 'Title Type', 'gdlr_translate' ),
'type' => \Elementor\Controls_Manager::SELECT,
'options' => [
'none' => __('None', 'gdlr_translate'),
'left'=> __('Left Align' ,'gdlr_translate'),
'left-divider'=> __('Left Align With Divider' ,'gdlr_translate'),
'center'=> __('Center Align' ,'gdlr_translate'),
'center-divider'=> __('Center Align With Divider' ,'gdlr_translate')
],
'default' => 'none',
]
);
$this->add_control( 'title',
[
'label' => __( 'Title', 'gdlr_translate' ),
'type' => \Elementor\Controls_Manager::TEXT,
]
);
$this->add_control( 'caption',
[
'label' => __( 'Caption', 'gdlr_translate' ),
'type' => \Elementor\Controls_Manager::TEXT,
]
);
$this->add_control( 'right-text',
[
'label' => __( 'Title Link Text', 'gdlr_translate' ),
'type' => \Elementor\Controls_Manager::TEXT,
'default' => __( 'View all branches', 'gdlr_translate' )
]
);
$this->add_control( 'right-text-link',
[
'label' => __( 'Title Link URL', 'gdlr_translate' ),
'type' => \Elementor\Controls_Manager::TEXT,
]
);
$this->end_controls_section();
}
protected function render() {
$settings = $this->get_settings_for_display();
echo gdlr_print_room_category_item( $settings );
}
}