@@ -60,7 +60,7 @@
Template list is coming from Elementor Template. If you already made your header in Elementor
Template, Then Choose any one. Otherwise,
Create new
-
+
Header as Elementor Template
.
@@ -79,11 +79,11 @@
diff --git a/admin/pages/includes/admin-header.php b/admin/pages/includes/admin-header.php
index f24bf6d9..26fdab5a 100644
--- a/admin/pages/includes/admin-header.php
+++ b/admin/pages/includes/admin-header.php
@@ -8,7 +8,7 @@
*
* @version 1.0.0.11
*/
-$header_title = esc_html__( 'UltraAddons Elementor Lite', 'ultraaddons' );
+$header_title = esc_html__( 'UltraAddons', 'ultraaddons' );
$header_title = apply_filters( 'ultraaddons/admin/header_title', $header_title );
$full_logo_image = ULTRA_ADDONS_ASSETS . 'images/svg/full-color-logo.svg';
$full_logo_image = apply_filters( 'ultraaddons/admin/header_logo', $full_logo_image );
@@ -16,6 +16,7 @@
+ v
diff --git a/admin/pages/widgets.php b/admin/pages/widgets.php
index e503f828..c5096fcd 100644
--- a/admin/pages/widgets.php
+++ b/admin/pages/widgets.php
@@ -73,7 +73,7 @@ class="ua-option-item ">
diff --git a/assets/css/admin.css b/assets/css/admin.css
index 6c344cab..3dab45f3 100644
--- a/assets/css/admin.css
+++ b/assets/css/admin.css
@@ -101,7 +101,25 @@ li#toplevel_page_ultraaddons-elementor-light.current .wp-menu-image img {
border-bottom: 1px solid #eee;
}
h1.ultraaddons-color-heading {
- font-weight: 900;
+ font-weight: 400;
+ color: #691fe1;
+ color: #ffffff;
+ text-shadow: 2px 4px 7px #5050503d;
+ /* text-shadow: -5px 1px 0px #e0e0e0; */
+ /* background: linear-gradient(45deg, #d422fc, #2b1ed1); */
+ display: inline-block;
+ /* padding: 20px; */
+ /* -webkit-background-clip: text; */
+ /* -webkit-text-fill-color: transparent; */
+}
+smal.ultraaddons-version-in-title {
+ font-weight: 100;
+ color: #ffffff;
+ font-size: 50%;
+ background: #5656567a;
+ /* background: linear-gradient(212deg, #0000004f, #a9a9a9); */
+ padding: 0 9px 3px 9px;
+ border-radius: 3px;
}
p.ultraaddons-info {
font-size: 22px;
@@ -142,6 +160,7 @@ ul.ua-submenu li a {
/*background: #ac21f2;*/
border-bottom: 6px solid rgb(90, 42, 183);
background: rgb(116, 57, 229);
+ text-decoration: none;
}
ul.ua-submenu li.ua-current-menu a {
background: #4caf50;
diff --git a/assets/css/widgets/product-table.css b/assets/css/widgets/product-table.css
index faf1494f..efb132bb 100644
--- a/assets/css/widgets/product-table.css
+++ b/assets/css/widgets/product-table.css
@@ -160,7 +160,7 @@ div.wpt-footer-cart-wrapper>a:after {
.ua-element-product-table .wpt_product_table_wrapper div.tables_cart_message_box a.cart-contents span.amount {
color: #16ecb2;
- background: #021429;
+ background: rgb(0 0 0 / 45%);
padding: 12px;
height: 100%;
}
diff --git a/assets/js/frontend.js b/assets/js/frontend.js
index 40a01414..b3a31867 100644
--- a/assets/js/frontend.js
+++ b/assets/js/frontend.js
@@ -7,6 +7,11 @@
return this.data( dataAttr );
};
+ /**
+ * For Deleveloper Only
+ */
+ console.log(ULTRAADDONS_DATA);
+
$window.on( 'elementor/frontend/init', function() {
var cx_settings;
@@ -100,10 +105,10 @@
});
// Slider
- elementorFrontend.hooks.addAction(
+ EF.hooks.addAction(
'frontend/element_ready/ultraaddons-slider.default',
function ($scope) {
- elementorFrontend.elementsHandler.addHandler(SliderBase, {
+ EF.elementsHandler.addHandler(SliderBase, {
$element: $scope,
selectors: {
container: '.ua-slider-wrapper',
@@ -114,11 +119,11 @@
}
);
- elementorFrontend.hooks.addAction( 'frontend/element_ready/ultraaddons-slider.default', add_number_inside_bullets);
+ EF.hooks.addAction( 'frontend/element_ready/ultraaddons-slider.default', add_number_inside_bullets);
// Cart Update in Editor Screen
- elementorFrontend.hooks.addAction(
+ EF.hooks.addAction(
'frontend/element_ready/ultraaddons-cart.default',
function ($scope) {
trigger_cart_update();
@@ -126,11 +131,12 @@
);
// Cart Update in Editor Screen
- elementorFrontend.hooks.addAction(
+ EF.hooks.addAction(
'frontend/element_ready/ultraaddons-product-table.default',
function ($scope) {
$('.wpt_product_table_wrapper .search_select,select.filter_select').select2();
trigger_cart_update();
+ minicart_footer_load();
}
);
@@ -180,5 +186,49 @@
$( document.body ).trigger( 'removed_from_cart' );
// $( document.body ).trigger( 'wpt_minicart_load' );
}
+ function minicart_footer_load(){
+ var footer_cart = 'always_show';
+ var footer_cart_size = '74';
+ var footer_possition = 'bottom_right';
+
+
+ $('body').append("
");
+ $('body').append('');
+ //$(window).trigger('wpt_minicart_now');
+
+ var minicart_type = $('div.tables_cart_message_box').attr('data-type');
+
+ $.ajax({
+ type: 'POST',
+ url: ULTRAADDONS_DATA.ajax_url,
+ data: {
+ action: 'wpt_fragment_refresh'
+ },
+ success: function(response){
+
+// setFragmentsRefresh( response );
+ if(typeof minicart_type !== 'undefined'){
+ var cart_hash = response.cart_hash;
+ var fragments = response.fragments;
+ var html = '';
+ var supportedElement = ['div.widget_shopping_cart_content','a.cart-contents','a.footer-cart-contents'];
+ if ( fragments && cart_hash !== '' ) {
+ if(minicart_type === 'load'){
+ $.each( fragments, function( key, value ) {
+ if('string' === typeof key && $.inArray(key, supportedElement) != -1 && typeof $( key ) === 'object') {
+ html += value;
+ }
+
+ });
+ $('div.tables_cart_message_box').attr('data-type','refresh');//Set
+ $('div.tables_cart_message_box').html(html);
+ }
+
+ }
+
+ }
+ }
+ });
+ }
} (jQuery, window));
\ No newline at end of file
diff --git a/inc/core/extensions-manager.php b/inc/core/extensions-manager.php
index 1c9993f7..0cdc38a2 100644
--- a/inc/core/extensions-manager.php
+++ b/inc/core/extensions-manager.php
@@ -139,4 +139,4 @@ public static function disableExtensionKeys(){
}
}
-Extensions_Manager::init();
\ No newline at end of file
+//Extensions_Manager::init();
\ No newline at end of file
diff --git a/inc/core/header-footer.php b/inc/core/header-footer.php
index 6fae82d2..42879a78 100644
--- a/inc/core/header-footer.php
+++ b/inc/core/header-footer.php
@@ -30,8 +30,8 @@ class Header_Footer {
public static $data = [
'header_id' => false,
'footer_id' => false,
- 'type' => 'php', //It will php and css. In
- 'wrapper' => 'flued',
+ 'type' => 'css', //It will php and css. among php,css,additional
+ 'wrapper' => 'box', //Default value is: box, among box and flued
];
protected static $body_class = [];
@@ -68,7 +68,7 @@ public static function init() {
}
public static function add_footer() {
-// /echo ultraaddons_elementor_display_content( self::get_footer_id() );
+ echo ultraaddons_elementor_display_content( self::get_footer_id() );
}
public static function show_footer( $name, $args ) {
include ULTRA_ADDONS_DIR . 'template/footer.php';
@@ -219,4 +219,4 @@ public static function body_class( $class ) {
}
}
-Header_Footer::init();
\ No newline at end of file
+//Header_Footer::init();
\ No newline at end of file
diff --git a/inc/widgets/count-down-timer.php b/inc/widgets/count-down-timer.php
index 3f705216..bff055fd 100644
--- a/inc/widgets/count-down-timer.php
+++ b/inc/widgets/count-down-timer.php
@@ -45,7 +45,7 @@ protected function _register_controls() {
//For General Section
$this->content_general_controls();
-
+ $this->content_label();
//For Design Section Style Tab
$this->style_design_controls();
@@ -70,6 +70,12 @@ protected function render() {
$date = $settings['date_time'];
$date_time = date( 'm/d/Y H:i', strtotime($date) );
+ //Label's
+ $days = $settings['days'];
+ $hours = $settings['hours'];
+ $minutes = $settings['minutes'];
+ $seconds = $settings['seconds'];
+
/**
* Filter for Changing Date and time.
*
@@ -86,22 +92,22 @@ protected function render() {
00
-
+
00
-
+
00
-
+
00
-
+
@@ -109,14 +115,19 @@ protected function render() {
// Countdown for page 4
function getTimeRemaining(endtime) {
- if(Date.parse(endtime) < Date.parse(new Date())){
+
+ var current_time = Date.parse(new Date());
+ var finis_time = Date.parse(endtime);
+
+ if(finis_time < current_time){
return;
}
- const total = Date.parse(endtime) - Date.parse(new Date());
- const seconds = Math.floor((total / 1000) % 60);
- const minutes = Math.floor((total / 1000 / 60) % 60);
- const hours = Math.floor((total / (1000 * 60 * 60)) % 24);
- const days = Math.floor(total / (1000 * 60 * 60 * 24));
+
+ var total = finis_time - current_time;
+ var seconds = Math.floor((total / 1000) % 60);
+ var minutes = Math.floor((total / 1000 / 60) % 60);
+ var hours = Math.floor((total / (1000 * 60 * 60)) % 24);
+ var days = Math.floor(total / (1000 * 60 * 60 * 24));
return {
total,
@@ -127,9 +138,9 @@ function getTimeRemaining(endtime) {
};
}
- function initializeClock(id, endtime) {
+ function initializeClock(endtime) {
try{
-// const clock = document.getElementById('countdownsss');
+
var clock = document.querySelector('.');
var daysSpan = clock.querySelector('.days');
var hoursSpan = clock.querySelector('.hrs');
@@ -157,16 +168,81 @@ function updateClock() {
}
}
- var deadline = new Date(Date.parse(''));// new Date(Date.parse(new Date()) + 15 * 24 * 60 * 60 * 1000);
-// const deadline = new Date(Date.parse('1/25/2021 10:20:00'));// new Date(Date.parse(new Date()) + 15 * 24 * 60 * 60 * 1000);
-// console.log(deadline,new Date(Date.parse('1/25/2021 10:20:00')));
- initializeClock('countdown', deadline);
+ var deadline = new Date(Date.parse(''));
+ initializeClock(deadline);
start_controls_section(
+ 'label',
+ [
+ 'label' => esc_html__( 'Label', 'ultraaddons' ),
+ 'tab' => Controls_Manager::TAB_CONTENT,
+ ]
+ );
+
+
+ $this->add_control(
+ 'days',
+ [
+ 'label' => __( 'Day', 'ultraaddons' ),
+ 'type' => Controls_Manager::TEXT,
+ 'placeholder' => __( 'eg: Days', 'ultraaddons' ),
+ 'label_block' => TRUE,
+ 'dynamic' => ['active' => true],
+ 'default' => esc_html__( 'Days', 'ultraaddons' ),
+ ]
+ );
+
+
+ $this->add_control(
+ 'hours',
+ [
+ 'label' => __( 'Hour', 'ultraaddons' ),
+ 'type' => Controls_Manager::TEXT,
+ 'placeholder' => __( 'eg: Hours', 'ultraaddons' ),
+ 'label_block' => TRUE,
+ 'dynamic' => ['active' => true],
+ 'default' => esc_html__( 'Hours', 'ultraaddons' ),
+ ]
+ );
+
+
+ $this->add_control(
+ 'minutes',
+ [
+ 'label' => __( 'Minute', 'ultraaddons' ),
+ 'type' => Controls_Manager::TEXT,
+ 'placeholder' => __( 'eg: Minutes', 'ultraaddons' ),
+ 'label_block' => TRUE,
+ 'dynamic' => ['active' => true],
+ 'default' => esc_html__( 'Minutes', 'ultraaddons' ),
+ ]
+ );
+
+
+ $this->add_control(
+ 'seconds',
+ [
+ 'label' => __( 'Second', 'ultraaddons' ),
+ 'type' => Controls_Manager::TEXT,
+ 'placeholder' => __( 'eg: Seconds', 'ultraaddons' ),
+ 'label_block' => TRUE,
+ 'dynamic' => ['active' => true],
+ 'default' => esc_html__( 'Seconds', 'ultraaddons' ),
+ ]
+ );
+
+
+
+ $this->end_controls_section();
+
+ }
+
/**
* General Section for Content Controls
*
@@ -181,16 +257,12 @@ protected function content_general_controls() {
]
);
- $default_date_time = date( 'Y-m-d H:i', ( time() + ( 86400 * 16 ) ) );
+
$this->add_control(
'date_time',
[
'label' => __( 'End Date', 'ultraaddons' ),
'type' => Controls_Manager::DATE_TIME,
- //'default' => 'YYYY-mm-dd HH:ii',
- ##'default' => 'mm/dd/YYYY HH:ii',
- 'default' => $default_date_time,//'2021-01-25 12:00',
- 'frontend_available' => true,
]
);
diff --git a/init.php b/init.php
index d69c4032..a9e094f8 100644
--- a/init.php
+++ b/init.php
@@ -3,7 +3,7 @@
* Plugin Name: Addons - UltraAddons Elementor Lite
* Plugin URI: https://ultraaddons.com/
* Description: Elementor Addons Plugin. Build your desired page just few click. Easy to use and useable for any theme and plugin. Available many filter.
- * Version: 1.0.1
+ * Version: 1.0.2
* Author: codersaiful
* Author URI: https://profiles.wordpress.org/codersaiful/#content-plugins
* License: GPL3+
@@ -19,7 +19,9 @@
* #ff00b1 - light of Elementor
*
* ********************************
- *
+ * Can Used Color:
+ * #607d8b - For Elementor Screen section title background
+ * ********************************
*
* UltraAddons Elementor Lite is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -36,7 +38,7 @@
defined( 'ABSPATH' ) || die();
-define( 'ULTRA_ADDONS_VERSION', '1.0.0.3' );
+define( 'ULTRA_ADDONS_VERSION', '1.0.2.0' );
define( 'ULTRA_ADDONS__FILE__', __FILE__ );
define( 'ULTRA_ADDONS_BASE_NAME', plugin_basename( __FILE__ ) );
define( 'ULTRA_ADDONS_DIR', plugin_dir_path( ULTRA_ADDONS__FILE__ ) );
@@ -174,6 +176,14 @@ public function i18n() {
* @access public
*/
public function init() {
+ /**
+ * Mainly for check UltraAddons Installed or now.
+ *
+ * If any user want to make a theme by our plugin,
+ * He/she can check our plugin activation statys
+ * by did_action( 'ultraaddons_init' )
+ */
+ do_action( 'ultraaddons_init' );
/**
* Auto Loader
* finally activated and running now.
@@ -239,7 +249,7 @@ public function admin_notice_missing_main_plugin() {
$message = sprintf(
/* translators: 1: Plugin name 2: Elementor */
esc_html__( '"%1$s" requires "%2$s" to be installed and activated.', 'ultra-elementor' ),
- '
' . esc_html__( 'Ultra Elementor Addons', 'ultra-elementor' ) . '',
+ '
' . esc_html__( 'UltraAddons Elementor Lite', 'ultra-elementor' ) . '',
'
' . esc_html__( 'Elementor', 'ultra-elementor' ) . ''
);
diff --git a/loader.php b/loader.php
index f4b2646c..73581733 100644
--- a/loader.php
+++ b/loader.php
@@ -42,6 +42,8 @@ class Loader {
public function __construct() {
+ //Header Footer Feature is Including Here.
+ add_action( 'init', [ $this, 'core_load_on_init' ] );
/**
* Widget has come from Plugin/ultraaddons-elementor-lite/inc/core/widgets_array.php file
* Controll by Widgets_Manager Object/Class
@@ -79,10 +81,6 @@ public function __construct() {
* @access public
*/
$this->widgetsArray = $widgetsArray;
-
- //File Including on init
- //Disable that init. because, These file will load by AutoLoader
-// add_action( 'init', [ $this, 'include_on_init' ] );
//Register and Including Base and common Class file
add_action( 'elementor/widgets/widgets_registered', [ $this, 'register' ],1 );
@@ -114,15 +112,16 @@ public function register() {
}
/**
- * After AutoLoader,
- * This method is not need
- * Already comment out the include once link
+ * Core Class/Object init call Here.
+ *
+ * In Future, we can handle it by any Function
+ * and based on Condition Wise.
*
- * Also deactivate on init of here
+ * @since 1.0.1.1
*/
- public function include_on_init(){
- //include_once ULTRA_ADDONS_DIR . 'inc/core/extentions-manager.php';
- //include_once ULTRA_ADDONS_DIR . 'inc/core/header_footer.php';
+ public function core_load_on_init(){
+ \UltraAddons\Core\Extensions_Manager::init();
+ \UltraAddons\Core\Header_Footer::init();
}
/**
@@ -198,15 +197,33 @@ public function wp_enqueue_scripts(){
//Naming of Args
- $name = 'ultraaddons-elementor-frontend';
+ $frontend_js_name = 'ultraaddons-elementor-frontend';
$js_file_url = apply_filters( 'ultraaddons_elementor_frontend', ULTRA_ADDONS_ASSETS . 'js/frontend.js' );
$dependency = apply_filters( 'ultraaddons_elementor_frontend_dependency', ['jquery'] );//['jquery'];
$version = ULTRA_ADDONS_VERSION;
$in_footer = true;
- wp_register_script( $name, $js_file_url, $dependency, $version, $in_footer );
- wp_enqueue_script( $name );
+ wp_register_script( $frontend_js_name, $js_file_url, $dependency, $version, $in_footer );
+ wp_enqueue_script( $frontend_js_name );
+ $ajax_url = admin_url( 'admin-ajax.php' );
+ $version = ULTRA_ADDONS_VERSION;
+ $ULTRAADDONS_DATA = array(
+ 'plugin_name' => 'UltraAddons',
+ 'plugin_type' => ultraaddons_plugin_version(),
+ 'version' => $version,
+ 'active_widgets' => $this->widgetsArray,
+ 'widgets' => Widgets_Manager::widgets(),
+ 'ajaxurl' => $ajax_url,
+ 'ajax_url' => $ajax_url,
+ 'site_url' => site_url(),
+ );
+ if( class_exists( '\WooCommerce' ) ){
+ $ULTRAADDONS_DATA['checkout_url'] = wc_get_checkout_url();
+ $ULTRAADDONS_DATA['cart_url'] = wc_get_cart_url();
+ }
+ $ULTRAADDONS_DATA = apply_filters( 'ultraaddons_localize_data', $ULTRAADDONS_DATA );
+ wp_localize_script( $frontend_js_name, 'ULTRAADDONS_DATA', $ULTRAADDONS_DATA );
}
/**
diff --git a/readme.txt b/readme.txt
index aae92a8e..e68ef26e 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,4 +1,4 @@
-=== UltraAddons Elementor Lite ===
+=== UltraAddons Elementor Lite (Header & Footer Builder, Menu Builder, Cart Icon) ===
Plugin Name: UltraAddons Elementor Lite
Version: 1.0.0
@@ -13,16 +13,22 @@ Stable tag: trunk
License: GPL3+
License URI: http://www.gnu.org/licenses/gpl.html
-Elementor Addons Plugin. Build your desired page just few click. Easy to use and useable for any theme and plugin. Available many filter.
+Elementor Addons Plugin. Build your desired page just few click. Easy to use and use able for any theme and plugin. Available many filter.
== Description ==
-*UltraAddons Elementor Lite* has some Unique features and Ready made Widget. By using this plugin, You able to create a Full web site just by drag and drop.
+*UltraAddons Elementor Lite* is a Elementor Addons Plugin and it has some Unique features and Ready made Widget. By using this plugin, You able to create a Full web site just by drag and drop.
+
+Making custom header and custom footer. WooCommerce minicart anywhere. Elementor Template or Page or Section showing to anywhere of site.
+Elementor page/section show in Sidebar area. using WordPress widget.
**Features**
+* Custom Header for whole site.
+* Custom Footer for whole site.
+* Elementor Page/Section/Template display in anywhere using shortcode. sample shortcode is `[UltraAddons id='123']`. Here 123 will be post ID of the Elementor Template.
* Many Ready widget,
-* Drag and Drop
+* [**Woo Product Table**](https://wordpress.org/plugins/woo-product-table/) display anywhere with Designing and Customizing. Available Typography, Color and different style.
* Wrapper Link for any section, column, widget.
* Hover any animation for any section, column, widget.
* Advance Heading/Title with customize color, Typography