File "featured-image-widget.php"
Full Path: /home/romayxjt/public_html/wp-content/plugins/mphb-elementor/widgets/accommodation/featured-image-widget.php
File size: 2.27 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace mphbe\widgets;
use Elementor\Controls_Manager;
use Elementor\Group_Control_Image_Size;
class AccommodationFeaturedImageWidget extends AbstractAccommodationWidget
{
public function get_name()
{
return 'mphbe-accommodation-featured-image';
}
public function get_title()
{
return __('Accommodation Type Featured Image', 'mphb-elementor');
}
public function get_icon()
{
return 'eicon-featured-image';
}
/**
* Adds different input fields to allow the user to change and customize the
* widget settings.
*/
protected function register_controls()
{
$this->start_controls_section('section_parameters', array(
'label' => __('Parameters', 'mphb-elementor')
));
$this->add_accommodation_control();
$this->add_control(
'link_to_post',
[
'label' => esc_html__('Link to post', 'mphb-elementor'),
'type' => Controls_Manager::SWITCHER,
'return_value' => 'yes',
'default' => '',
]
);
$this->add_group_control(
Group_Control_Image_Size::get_type(),
[
'name' => 'featured_image',
'exclude' => ['custom'],
'include' => [],
'default' => '',
]
);
$this->end_controls_section();
}
/**
* Render the widget output on the frontend.
*
* Written in PHP and used to generate the final HTML.
*/
protected function mphb_render($settings)
{
$linkToPost = $settings['link_to_post'] === 'yes';
$size = isset($settings['featured_image_size']) ? $settings['featured_image_size'] : null;
?>
<div class="mphb-single-room-type-thumbnail">
<?php if ($linkToPost) : ?>
<a href="<?php echo esc_url(get_permalink($this->accommodation_id)); ?>">
<?php endif; ?>
<?php echo mphb_tmpl_get_room_type_image($this->accommodation_id, $size); ?>
<?php if ($linkToPost) : ?>
</a>
<?php endif; ?>
</div>
<?php
}
}