File: /var/www/vhosts/uyarreklam.com.tr/httpdocs/elementor.tar
elementor.php 0000644 00000011102 15154051305 0007241 0 ustar 00 <?php
class SiteOrigin_Widgets_Bundle_Elementor {
/**
* Get the singleton instance
*
* @return SiteOrigin_Widgets_Bundle_Elementor
*/
public static function single() {
static $single;
return empty( $single ) ? $single = new self() : $single;
}
private $plugin;
public function __construct() {
add_action( 'admin_action_elementor', array( $this, 'init_editor' ) );
add_action( 'template_redirect', array( $this, 'init_preview' ) );
add_filter( 'siteorigin_widgets_is_preview', array( $this, 'is_elementor_preview' ) );
add_action( 'wp_ajax_elementor_editor_get_wp_widget_form', array( $this, 'ajax_render_widget_form' ) );
add_filter( 'elementor/frontend/builder_content/before_print_css', array( $this, 'remove_post_type_filter' ), 10, 1 );
add_filter( 'elementor/frontend/the_content', array( $this, 'restore_post_type_filter' ), 10, 1 );
}
public function init_editor() {
add_action( 'elementor/editor/before_enqueue_scripts', array( $this, 'enqueue_active_widgets_scripts' ) );
}
public function init_preview() {
$this->plugin = Elementor\Plugin::instance();
if ( ! empty( $this->plugin->preview ) && method_exists( $this->plugin->preview, 'is_preview_mode' ) && $this->plugin->preview->is_preview_mode() ) {
add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_frontend_scripts' ) );
add_action( 'elementor/preview/enqueue_styles', array( $this, 'enqueue_frontend_scripts' ) );
}
}
public function enqueue_frontend_scripts() {
$so_widgets_bundle = SiteOrigin_Widgets_Bundle::single();
$so_widgets_bundle->register_general_scripts();
$so_widgets_bundle->enqueue_registered_widgets_scripts( true, false );
}
public function enqueue_active_widgets_scripts() {
add_action( 'wp_print_footer_scripts', array( $this, 'print_footer_templates' ) );
$so_widgets_bundle = SiteOrigin_Widgets_Bundle::single();
$so_widgets_bundle->register_general_scripts();
$so_widgets_bundle->enqueue_registered_widgets_scripts( false, true );
wp_enqueue_style( 'sowb-styles-for-elementor', plugin_dir_url( __FILE__ ) . 'styles.css' );
wp_enqueue_script(
'sowb-js-for-elementor',
plugin_dir_url( __FILE__ ) . 'sowb-elementor' . SOW_BUNDLE_JS_SUFFIX . '.js',
array( 'jquery' )
);
}
public function print_footer_templates() {
global $wp_widget_factory;
// Elementor does it's editing in the front end so print required footer templates for active widgets.
foreach ( $wp_widget_factory->widgets as $class => $widget_obj ) {
if ( ! empty( $widget_obj ) && is_object( $widget_obj ) && is_subclass_of( $widget_obj, 'SiteOrigin_Widget' ) ) {
/* @var $widget_obj SiteOrigin_Widget */
$widget_obj->footer_admin_templates();
}
}
}
public function is_elementor_preview( $is_preview ) {
$this->plugin = Elementor\Plugin::instance();
$is_elementor_preview = ! empty( $this->plugin->preview ) && method_exists( $this->plugin->preview, 'is_preview_mode' ) && $this->plugin->preview->is_preview_mode();
$is_elementor_edit_mode = $this->plugin->editor->is_edit_mode();
return $is_preview || $is_elementor_preview || $is_elementor_edit_mode ||
( ! empty( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' );
}
public function ajax_render_widget_form() {
// Don't want to show the form preview button when using Elementor
add_filter( 'siteorigin_widgets_form_show_preview_button', array( $this, '__return_false' ) );
}
/**
* Temporarily removes the Posts Form Field post type permission check
* before Elementor renderers the page.
*
* Elementor sanitizes post content when rendering the page.
* To prevent issues for guests who won't have permission to
* use any non-standard post types, we temporarily remove the check.
*
* The `elementor/frontend/builder_content/before_print_css` filter
* is used because it's the last filter Elementor applies before
* rendering the page.
*
* @param string $css The CSS content being generated by Elementor.
*
* @return string Unchanged CSS content.
*/
public function remove_post_type_filter( $css ) {
add_filter( 'siteorigin_widgets_post_selector_post_type_permission_check', '__return_false' );
return $css;
}
/**
* Restores the Posts Form Field post type permission check after
* Elementor has finished rendering the page.
*
* @param string $content The processed content.
*
* @return string Unchanged processed content.
*/
public function restore_post_type_filter( $content ) {
remove_filter( 'siteorigin_widgets_post_selector_post_type_permission_check', '__return_false' );
return $content;
}
}
SiteOrigin_Widgets_Bundle_Elementor::single();
sowb-elementor.js 0000644 00000001351 15154051305 0010043 0 ustar 00 var sowb = window.sowb || {};
( function($){
// To ensure necessary scripts are executed again when settings are changed
$( window ).on( 'elementor:init', function() {
elementor.on( 'preview:loaded', function () {
var preview_window = elementor.$preview.get( 0 ).contentWindow;
var $sowb = preview_window.jQuery( preview_window.sowb );
var timeoutId;
elementorFrontend.hooks.addAction( 'frontend/element_ready/widget', function(){
// Debounce
if ( timeoutId ) {
clearTimeout( timeoutId );
}
timeoutId = setTimeout( function () {
// Trigger Widgets Bundle widgets to setup
$sowb.trigger( 'setup_widgets', { preview: true } );
timeoutId = null;
}, 300 );
} );
} );
} );
})(jQuery);
sowb-elementor.min.js 0000644 00000000556 15154051305 0010633 0 ustar 00 var sowb=window.sowb||{};jQuery(window).on("elementor:init",(function(){elementor.on("preview:loaded",(function(){var e,n=elementor.$preview.get(0).contentWindow,o=n.jQuery(n.sowb);elementorFrontend.hooks.addAction("frontend/element_ready/widget",(function(){e&&clearTimeout(e),e=setTimeout((function(){o.trigger("setup_widgets",{preview:!0}),e=null}),300)}))}))})); styles.css 0000644 00000027244 15154051305 0006611 0 ustar 00 .elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form{min-width:inherit}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form a{border-bottom:none}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .wp-picker-container{float:none}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .wp-picker-container.wp-picker-active{transform:none;float:none;position:relative;padding:0;border:none;background:none}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .wp-picker-container.wp-picker-active .wp-color-result{float:left;margin:0}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .wp-picker-container.wp-picker-active .wp-picker-input-wrap{padding:0;float:left}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .wp-picker-container.wp-picker-active .wp-picker-input-wrap .siteorigin-widget-input-color,.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .wp-picker-container.wp-picker-active .wp-picker-input-wrap .button.wp-picker-default{font-size:12px;height:32px}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .wp-picker-container.wp-picker-active .wp-picker-input-wrap .button.wp-picker-default{float:right;width:auto}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .wp-picker-container.wp-picker-active .wp-picker-holder:before{clear:both;content:"";display:table}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .wp-picker-container.wp-picker-active .iris-picker.iris-border{background:none}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .wp-picker-container.wp-picker-active .iris-picker.iris-border .iris-picker-inner{left:0;right:0}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .wp-picker-container.wp-picker-active .wp-picker-clear{height:28px}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .siteorigin-widget-field.siteorigin-widget-field-type-autocomplete .existing-content-selector,.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .siteorigin-widget-field.siteorigin-widget-field-type-link .existing-content-selector{width:inherit}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .siteorigin-widget-field .siteorigin-widget-input-color{width:120px;margin:0 3px}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .siteorigin-widget-field .ui-draggable-handle{transition:none}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .siteorigin-widget-field.siteorigin-widget-field-type-icon .siteorigin-widget-icon-selector .siteorigin-widget-icon-search{box-shadow:inset 0 1px 2px rgba(0,0,0,0.07);background-color:#fff;color:#32373c;width:100%}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .siteorigin-widget-field.siteorigin-widget-field-type-icon .siteorigin-widget-icon-selector .siteorigin-widget-icon-search::placeholder,.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .siteorigin-widget-field.siteorigin-widget-field-type-icon .siteorigin-widget-icon-selector .siteorigin-widget-icon-search::-webkit-input-placeholder{color:#32373c}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .siteorigin-widget-field.siteorigin-widget-field-type-icon .siteorigin-widget-icon-icons-icon{color:#444}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .siteorigin-widget-field.siteorigin-widget-field-type-measurement .siteorigin-widget-input-measurement,.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .siteorigin-widget-field.siteorigin-widget-field-type-measurement .sow-measurement-select-unit{max-width:inherit;height:28px;margin:0}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .siteorigin-widget-field.siteorigin-widget-field-type-measurement .siteorigin-widget-input-measurement{width:100%;max-width:58px;margin-right:1px}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .siteorigin-widget-field.siteorigin-widget-field-type-measurement .sow-measurement-select-unit{min-width:inherit;width:32%;margin-left:1px;max-width:73px}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .siteorigin-widget-field.siteorigin-widget-field-type-posts select[multiple]{height:inherit}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .siteorigin-widget-field.siteorigin-widget-field-type-posts .siteorigin-widget-field-type-date-range>div input[type="text"].datepicker{width:100%}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .siteorigin-widget-field .siteorigin-widget-field-type-slider input[type="number"]{display:none !important}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .siteorigin-widget-field .clear{clear:both}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .siteorigin-widget-field.siteorigin-widget-field-type-media .media-fallback-external{margin-top:4px !important;margin-left:15px !important;max-width:220px}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .siteorigin-widget-field .siteorigin-widget-input[type="text"]{height:30px}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .siteorigin-widget-field .siteorigin-widget-input[type="checkbox"]{display:inline-block;vertical-align:middle}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .siteorigin-widget-field .siteorigin-widget-description{color:inherit}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .siteorigin-widget-field-type-section{color:#000}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .button.wp-color-result{font-size:12px;height:32px;padding:0 0 0 30px}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .button.button-small{height:25px;line-height:30px;padding:0 8px;font-size:11px}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form select,.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form input[type=text]{margin:1px;border-radius:0;font-weight:inherit;border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,0.07);background-color:#fff;color:#32373c;outline:0;transition:50ms border-color ease-in-out;max-width:100%}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form select[multiple]{min-height:83px}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form input[type="text"].datepicker{width:auto;max-width:100%}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border:1px solid #5b9dd9;box-shadow:0 1px 2px rgba(30,140,190,0.8);background-color:#fff}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .ui-autocomplete li{margin-bottom:0;padding:4px 10px;white-space:nowrap;text-align:left}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .ui-autocomplete li.ui-state-focus{background-color:#ddd;cursor:pointer}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .media-toolbar-primary{margin-top:15px}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .query-builder-content .query-builder-form-field small{margin-top:5px}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .button,#so-widgets-image-search-frame .button,.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .button-secondary,#so-widgets-image-search-frame .button-secondary{display:inline-block;text-decoration:none;font-size:13px;line-height:28px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;border:1px solid #cccccc;border-radius:3px;white-space:nowrap;box-sizing:border-box;font-family:inherit;font-weight:normal;text-transform:capitalize;color:#555;background:#f7f7f7}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .button:hover,#so-widgets-image-search-frame .button:hover,.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .button-secondary:hover,#so-widgets-image-search-frame .button-secondary:hover,.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .button:focus,#so-widgets-image-search-frame .button:focus,.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .button-secondary:focus,#so-widgets-image-search-frame .button-secondary:focus{background:#fafafa;border-color:#999;color:#23282d}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .button:active,#so-widgets-image-search-frame .button:active,.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .button-secondary:active,#so-widgets-image-search-frame .button-secondary:active,.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .button:focus,#so-widgets-image-search-frame .button:focus,.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .button-secondary:focus,#so-widgets-image-search-frame .button-secondary:focus{outline:none}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .button.hidden,#so-widgets-image-search-frame .button.hidden,.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .button-secondary.hidden,#so-widgets-image-search-frame .button-secondary.hidden{display:none}.elementor-panel #elementor-panel-page-editor .elementor-control-content .siteorigin-widget-form .button-primary,#so-widgets-image-search-frame .button-primary{background:#007cba;border-color:#007cba;color:#fff;text-decoration:none;text-shadow:none}#so-widgets-image-search-frame .so-widgets-search-input{background:#fff;color:#32373c;border:1px solid #7e8993;line-height:1;min-height:47px;font-size:14px}#so-widgets-image-search-frame .so-widgets-image-search-powered{font-size:11px}#so-widgets-image-search-frame a{color:#0073aa;text-decoration:underline}#so-widgets-image-search-frame a:active,#so-widgets-image-search-frame a:hover{color:#006799}#so-widgets-image-search-frame .so-widgets-results-loading{color:#444}.so-widgets-dialog .so-widgets-toolbar h3{color:#23282d;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16.9px;font-weight:600;margin:15px 0 15px 20px} class-yith-wcwl-elementor-add-to-wishlist.php 0000644 00000013115 15154275275 0015327 0 ustar 00 <?php
/**
* Add to Wishlist widget for Elementor
*
* @author YITH <plugins@yithemes.com>
* @package YITH\Wishlist\Classes\Elementor
* @version 3.0.7
*/
if ( ! defined( 'YITH_WCWL' ) ) {
exit;
} // Exit if accessed directly
if ( ! class_exists( 'YITH_WCWL_Elementor_Add_To_Wishlist' ) ) {
/**
* Add to Wishlist Elementor block
*
* @since 3.0.0
*/
class YITH_WCWL_Elementor_Add_To_Wishlist extends \Elementor\Widget_Base {
/**
* Get widget name.
*
* Retrieve YITH_WCWL_Elementor_Add_to_Wishlist widget name.
*
* @return string Widget name.
* @since 1.0.0
* @access public
*/
public function get_name() {
return 'yith_wcwl_add_to_wishlist';
}
/**
* Get widget title.
*
* Retrieve YITH_WCWL_Elementor_Add_to_Wishlist widget title.
*
* @return string Widget title.
* @since 1.0.0
* @access public
*/
public function get_title() {
return _x( 'YITH Wishlist Add button', 'Elementor widget name', 'yith-woocommerce-wishlist' );
}
/**
* Get widget icon.
*
* Retrieve YITH_WCWL_Elementor_Add_to_Wishlist widget icon.
*
* @return string Widget icon.
* @since 1.0.0
* @access public
*/
public function get_icon() {
return 'eicon-button';
}
/**
* Get widget categories.
*
* Retrieve the list of categories the YITH_WCWL_Elementor_Add_to_Wishlist widget belongs to.
*
* @return array Widget categories.
* @since 1.0.0
* @access public
*/
public function get_categories() {
return array( 'general', 'yith' );
}
/**
* Register YITH_WCWL_Elementor_Add_to_Wishlist widget controls.
*
* Adds different input fields to allow the user to change and customize the widget settings.
*
* @since 1.0.0
* @access protected
*/
protected function register_controls() {
$this->start_controls_section(
'product_section',
array(
'label' => _x( 'Product', 'Elementor section title', 'yith-woocommerce-wishlist' ),
'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
)
);
$this->add_control(
'product_id',
array(
'label' => _x( 'Product ID', 'Elementor control label', 'yith-woocommerce-wishlist' ),
'type' => \Elementor\Controls_Manager::NUMBER,
'input_type' => 'text',
'placeholder' => '123',
)
);
$this->end_controls_section();
$this->start_controls_section(
'labels_section',
array(
'label' => _x( 'Labels', 'Elementor section title', 'yith-woocommerce-wishlist' ),
'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
)
);
$this->add_control(
'label',
array(
'label' => _x( 'Button label', 'Elementor control label', 'yith-woocommerce-wishlist' ),
'type' => \Elementor\Controls_Manager::TEXT,
'input_type' => 'text',
'placeholder' => __( 'Add to wishlist', 'yith-woocommerce-wishlist' ),
)
);
$this->add_control(
'browse_wishlist_text',
array(
'label' => _x( '"Browse wishlist" label', 'Elementor control label', 'yith-woocommerce-wishlist' ),
'type' => \Elementor\Controls_Manager::TEXT,
'input_type' => 'text',
'placeholder' => __( 'Browse wishlist', 'yith-woocommerce-wishlist' ),
)
);
$this->add_control(
'already_in_wishslist_text',
array(
'label' => _x( '"Product already in wishlist" label', 'Elementor control label', 'yith-woocommerce-wishlist' ),
'type' => \Elementor\Controls_Manager::TEXT,
'input_type' => 'text',
'placeholder' => __( 'Product already in wishlist', 'yith-woocommerce-wishlist' ),
)
);
$this->add_control(
'product_added_text',
array(
'label' => _x( '"Product added to wishlist" label', 'Elementor control label', 'yith-woocommerce-wishlist' ),
'type' => \Elementor\Controls_Manager::TEXT,
'input_type' => 'text',
'placeholder' => __( 'Product added to wishlist', 'yith-woocommerce-wishlist' ),
)
);
$this->end_controls_section();
$this->start_controls_section(
'advanced_section',
array(
'label' => _x( 'Advanced', 'Elementor section title', 'yith-woocommerce-wishlist' ),
'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
)
);
$this->add_control(
'wishlist_url',
array(
'label' => _x( 'URL of the wishlist page', 'Elementor control label', 'yith-woocommerce-wishlist' ),
'type' => \Elementor\Controls_Manager::TEXT,
'input_type' => 'url',
'placeholder' => '',
)
);
$this->add_control(
'icon',
array(
'label' => _x( 'Icon for the button', 'Elementor control label', 'yith-woocommerce-wishlist' ),
'type' => \Elementor\Controls_Manager::TEXT,
'input_type' => 'text',
'placeholder' => '',
)
);
$this->add_control(
'link_classes',
array(
'label' => _x( 'Additional CSS classes for the button', 'Elementor control label', 'yith-woocommerce-wishlist' ),
'type' => \Elementor\Controls_Manager::TEXT,
'input_type' => 'text',
'placeholder' => '',
)
);
$this->end_controls_section();
}
/**
* Render YITH_WCWL_Elementor_Add_to_Wishlist widget output on the frontend.
*
* @since 1.0.0
* @access protected
*/
protected function render() {
$attribute_string = '';
$settings = $this->get_settings_for_display();
foreach ( $settings as $key => $value ) {
if ( empty( $value ) || ! is_scalar( $value ) ) {
continue;
}
$attribute_string .= " {$key}=\"{$value}\"";
}
echo do_shortcode( "[yith_wcwl_add_to_wishlist {$attribute_string}]" );
}
}
}
class-yith-wcwl-elementor-wishlist.php 0000644 00000007222 15154275275 0014163 0 ustar 00 <?php
/**
* Wishlist widget for Elementor
*
* @author YITH <plugins@yithemes.com>
* @package YITH\Wishlist\Classes\Elementor
* @version 3.0.7
*/
if ( ! defined( 'YITH_WCWL' ) ) {
exit;
} // Exit if accessed directly
if ( ! class_exists( 'YITH_WCWL_Elementor_Wishlist' ) ) {
/**
* Wishlist Elementor block
*
* @since 3.0.0
*/
class YITH_WCWL_Elementor_Wishlist extends \Elementor\Widget_Base {
/**
* Get widget name.
*
* Retrieve YITH_WCWL_Elementor_Wishlist widget name.
*
* @return string Widget name.
* @since 1.0.0
* @access public
*/
public function get_name() {
return 'yith_wcwl_wishlist';
}
/**
* Get widget title.
*
* Retrieve YITH_WCWL_Elementor_Wishlist widget title.
*
* @return string Widget title.
* @since 1.0.0
* @access public
*/
public function get_title() {
return _x( 'YITH Wishlist', 'Elementor widget name', 'yith-woocommerce-wishlist' );
}
/**
* Get widget icon.
*
* Retrieve YITH_WCWL_Elementor_Wishlist widget icon.
*
* @return string Widget icon.
* @since 1.0.0
* @access public
*/
public function get_icon() {
return 'eicon-table';
}
/**
* Get widget categories.
*
* Retrieve the list of categories the YITH_WCWL_Elementor_Wishlist widget belongs to.
*
* @return array Widget categories.
* @since 1.0.0
* @access public
*/
public function get_categories() {
return array( 'general', 'yith' );
}
/**
* Register YITH_WCWL_Elementor_Wishlist widget controls.
*
* Adds different input fields to allow the user to change and customize the widget settings.
*
* @since 1.0.0
* @access protected
*/
protected function register_controls() {
$this->start_controls_section(
'product_section',
array(
'label' => _x( 'Wishlist', 'Elementor section title', 'yith-woocommerce-wishlist' ),
'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
)
);
$this->add_control(
'wishlist_id',
array(
'label' => _x( 'Wishlist ID', 'Elementor control label', 'yith-woocommerce-wishlist' ),
'type' => \Elementor\Controls_Manager::TEXT,
'input_type' => 'text',
'placeholder' => 'K6EOWXB888ZD',
)
);
$this->end_controls_section();
$this->start_controls_section(
'labels_section',
array(
'label' => _x( 'Pagination', 'Elementor section title', 'yith-woocommerce-wishlist' ),
'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
)
);
$this->add_control(
'pagination',
array(
'label' => _x( 'Paginate items', 'Elementor control label', 'yith-woocommerce-wishlist' ),
'type' => \Elementor\Controls_Manager::SELECT,
'options' => array(
'yes' => __( 'Paginate', 'yith-woocommerce-wishlist' ),
'no' => __( 'Do not paginate', 'yith-woocommerce-wishlist' ),
),
'default' => 'no',
)
);
$this->add_control(
'per_page',
array(
'label' => _x( 'Items per page', 'yith-woocommerce-wishlist' ),
'type' => \Elementor\Controls_Manager::NUMBER,
'input_type' => 'number',
'placeholder' => 5,
)
);
$this->end_controls_section();
}
/**
* Render YITH_WCWL_Elementor_Wishlist widget output on the frontend.
*
* @since 1.0.0
* @access protected
*/
protected function render() {
$attribute_string = '';
$settings = $this->get_settings_for_display();
foreach ( $settings as $key => $value ) {
if ( empty( $value ) || ! is_scalar( $value ) ) {
continue;
}
$attribute_string .= " {$key}=\"{$value}\"";
}
echo do_shortcode( "[yith_wcwl_wishlist {$attribute_string}]" );
}
}
}