PATH:
home
/
thebhoeo
/
.trash
/
woodmart
/
inc
/
integrations
/
elementor
/
elements
<?php /** * 360 degree view map. */ namespace XTS\Elementor; use Elementor\Group_Control_Image_Size; 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 View_3d extends Widget_Base { /** * Get widget name. * * @return string Widget name. * @since 1.0.0 * @access public */ public function get_name() { return 'wd_3d_view'; } /** * Get widget title. * * @return string Widget title. * @since 1.0.0 * @access public */ public function get_title() { return esc_html__( '360 degree view', 'woodmart' ); } /** * Get widget icon. * * @return string Widget icon. * @since 1.0.0 * @access public */ public function get_icon() { return 'wd-icon-3d-view'; } /** * Get widget categories. * * @return array Widget categories. * @since 1.0.0 * @access public */ 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' ), ] ); $this->add_control( 'images', [ 'label' => esc_html__( 'Images', 'woodmart' ), 'type' => Controls_Manager::GALLERY, 'default' => [], ] ); $this->add_group_control( Group_Control_Image_Size::get_type(), [ 'name' => 'images', // Need images id. 'default' => 'large', 'separator' => 'none', ] ); $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() { $default_settings = [ 'images' => '', ]; $settings = wp_parse_args( $this->get_settings_for_display(), $default_settings ); woodmart_enqueue_js_library( 'threesixty' ); woodmart_enqueue_js_script( 'view3d-element' ); woodmart_enqueue_inline_style( '360degree' ); if ( count( $settings['images'] ) < 2 ) { return; } $image_data = wp_get_attachment_image_src( $settings['images'][0]['id'], $settings['images_size'] ); $args = [ 'frames_count' => count( $settings['images'] ), 'images' => [], 'width' => $image_data[1], 'height' => $image_data[2], ]; foreach ( $settings['images'] as $key => $image ) { $args['images'][] = woodmart_otf_get_image_url( $image['id'], $settings['images_size'], $settings['images_custom_dimension'] ); } ?> <div class="wd-threed-view" data-args='<?php echo wp_json_encode( $args ); ?>'> <ul class="threed-view-images"></ul> <div class="spinner"> <span>0%</span> </div> </div> <?php } } Plugin::instance()->widgets_manager->register( new View_3d() );
[-] class-widget-products.php
[edit]
[-] class-countdown.php
[edit]
[-] class-off-canvas-column-btn.php
[edit]
[-] class-video.php
[edit]
[-] class-author-area.php
[edit]
[+]
banner
[-] class-text-block.php
[edit]
[-] class-product-filters.php
[edit]
[-] class-timeline.php
[edit]
[+]
blog
[-] class-testimonials.php
[edit]
[-] class-size-guide.php
[edit]
[-] class-google-map.php
[edit]
[-] class-title.php
[edit]
[-] class-image-hotspot.php
[edit]
[-] class-mailchimp.php
[edit]
[-] class-page-title.php
[edit]
[-] class-page-heading.php
[edit]
[-] class-product-categories.php
[edit]
[-] class-compare-images.php
[edit]
[-] class-nested-carousel.php
[edit]
[-] class-table.php
[edit]
[-] class-team-member.php
[edit]
[-] class-3d-view.php
[edit]
[-] class-products-brands.php
[edit]
[-] class-slider.php
[edit]
[+]
products
[-] class-image.php
[edit]
[-] class-sidebar.php
[edit]
[-] class-tabs.php
[edit]
[-] class-counter.php
[edit]
[-] class-accordion.php
[edit]
[-] class-open-street-map.php
[edit]
[-] class-wishlist.php
[edit]
[-] class-search.php
[edit]
[+]
..
[-] class-social.php
[edit]
[+]
infobox
[-] class-toggle.php
[edit]
[-] class-contact-form-7.php
[edit]
[-] class-menu-anchor.php
[edit]
[+]
instagram
[-] class-menu-price.php
[edit]
[-] class-breadcrumbs.php
[edit]
[-] class-list.php
[edit]
[+]
products-tabs
[-] class-popup.php
[edit]
[-] class-mega-menu.php
[edit]
[-] class-extra-menu-list.php
[edit]
[+]
portfolio
[-] class-pricing-tables.php
[edit]
[-] class-marquee.php
[edit]
[-] class-twitter.php
[edit]
[-] class-compare.php
[edit]
[-] class-images-gallery.php
[edit]
[+]
button