Changeset 3412300
- Timestamp:
- 12/05/2025 02:51:31 PM (3 months ago)
- Location:
- daily-slider
- Files:
-
- 36 added
- 5 edited
-
tags/2.2.0 (added)
-
tags/2.2.0/admin (added)
-
tags/2.2.0/admin/dashboard.php (added)
-
tags/2.2.0/admin/welcome-page.php (added)
-
tags/2.2.0/admin/widget-manager.php (added)
-
tags/2.2.0/assets (added)
-
tags/2.2.0/assets/css (added)
-
tags/2.2.0/assets/css/common.css (added)
-
tags/2.2.0/assets/css/vendor (added)
-
tags/2.2.0/assets/css/widgets (added)
-
tags/2.2.0/assets/css/widgets/eldorado.css (added)
-
tags/2.2.0/assets/css/widgets/marqee.css (added)
-
tags/2.2.0/assets/css/widgets/marquee.css (added)
-
tags/2.2.0/assets/css/widgets/pixel.css (added)
-
tags/2.2.0/assets/css/widgets/review-carousel.css (added)
-
tags/2.2.0/assets/images (added)
-
tags/2.2.0/assets/images/item-1.svg (added)
-
tags/2.2.0/assets/images/item-2.svg (added)
-
tags/2.2.0/assets/images/item-3.svg (added)
-
tags/2.2.0/assets/js (added)
-
tags/2.2.0/assets/js/widgets (added)
-
tags/2.2.0/assets/js/widgets/eldorado.js (added)
-
tags/2.2.0/assets/js/widgets/marquee.js (added)
-
tags/2.2.0/assets/js/widgets/pixel.js (added)
-
tags/2.2.0/assets/js/widgets/review-carousel.js (added)
-
tags/2.2.0/daily-slider.php (added)
-
tags/2.2.0/readme.txt (added)
-
tags/2.2.0/widgets (added)
-
tags/2.2.0/widgets/eldorado (added)
-
tags/2.2.0/widgets/eldorado/eldorado.php (added)
-
tags/2.2.0/widgets/marquee (added)
-
tags/2.2.0/widgets/marquee/marquee.php (added)
-
tags/2.2.0/widgets/pixel (added)
-
tags/2.2.0/widgets/pixel/pixel.php (added)
-
tags/2.2.0/widgets/review-carousel (added)
-
tags/2.2.0/widgets/review-carousel/review-carousel.php (added)
-
trunk/admin/dashboard.php (modified) (2 diffs)
-
trunk/admin/welcome-page.php (modified) (1 diff)
-
trunk/admin/widget-manager.php (modified) (23 diffs)
-
trunk/daily-slider.php (modified) (11 diffs)
-
trunk/readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
daily-slider/trunk/admin/dashboard.php
r3412246 r3412300 7 7 8 8 public function __construct() { 9 add_action('admin_menu', array($this, 'add_admin_menu') );9 add_action('admin_menu', array($this, 'add_admin_menu'), 9); 10 10 add_action('admin_init', array($this, 'register_settings')); 11 11 add_action('wp_ajax_daily_slider_save_settings', array($this, 'save_settings_ajax')); … … 100 100 } 101 101 } 102 103 // Initialize the dashboard104 new DailySliderDashboard(); -
daily-slider/trunk/admin/welcome-page.php
r3412246 r3412300 8 8 public static function render() { 9 9 ?> 10 <div class=" wrapdaily-slider-welcome">10 <div class="daily-slider-welcome"> 11 11 12 12 <!-- Header Section --> -
daily-slider/trunk/admin/widget-manager.php
r3412246 r3412300 178 178 } 179 179 ?> 180 <div class=" wrapdaily-slider-widgets-manager">180 <div class="daily-slider-widgets-manager"> 181 181 182 182 <!-- Show success message after saving --> … … 276 276 .daily-slider-widgets-manager { 277 277 max-width: 1200px; 278 margin: 20px 0;278 margin: 15px 0; 279 279 font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; 280 280 } … … 326 326 display: flex; 327 327 align-items: center; 328 gap: 30px;328 gap: 20px; 329 329 } 330 330 … … 332 332 display: inline-flex; 333 333 align-items: center; 334 gap: 8px;335 padding: 1 2px 24px !important;336 font-size: 1 4px !important;334 gap: 6px; 335 padding: 10px 20px !important; 336 font-size: 13px !important; 337 337 font-weight: 600; 338 338 border-radius: 8px; … … 347 347 348 348 .header-save-btn .dashicons { 349 font-size: 1 6px;349 font-size: 14px; 350 350 margin-right: 0; 351 351 } … … 355 355 display: flex; 356 356 flex-direction: column; 357 gap: 30px;357 gap: 20px; 358 358 } 359 359 … … 362 362 background: white; 363 363 border-radius: 12px; 364 padding: 40px;365 box-shadow: 0 2px 10px rgba(0,0,0,0. 08);364 padding: 25px; 365 box-shadow: 0 2px 10px rgba(0,0,0,0.1); 366 366 } 367 367 … … 370 370 justify-content: space-between; 371 371 align-items: center; 372 margin-bottom: 30px;373 padding-bottom: 20px;372 margin-bottom: 20px; 373 padding-bottom: 15px; 374 374 border-bottom: 2px solid #f1f1f1; 375 375 } … … 377 377 .section-header h2 { 378 378 margin: 0; 379 font-size: 2 4px;379 font-size: 20px; 380 380 color: #1e1e1e; 381 381 } … … 387 387 388 388 .bulk-actions .button { 389 padding: 8px 16px;390 font-size: 1 4px;389 padding: 6px 14px; 390 font-size: 13px; 391 391 } 392 392 … … 394 394 background: #000000; 395 395 color: white; 396 padding: 8px 20px;397 border-radius: 20px;398 font-size: 1 2px;396 padding: 6px 16px; 397 border-radius: 18px; 398 font-size: 11px; 399 399 font-weight: 600; 400 400 text-transform: uppercase; … … 405 405 .widgets-grid { 406 406 display: grid; 407 grid-template-columns: repeat(auto-fit, minmax(3 50px, 1fr));408 gap: 25px;407 grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); 408 gap: 18px; 409 409 } 410 410 411 411 .widget-card { 412 412 border: 2px solid #e1e1e1; 413 border-radius: 1 2px;414 padding: 2 5px;413 border-radius: 10px; 414 padding: 20px; 415 415 transition: all 0.3s ease; 416 416 background: #fafafa; … … 428 428 justify-content: space-between; 429 429 align-items: center; 430 margin-bottom: 20px;430 margin-bottom: 15px; 431 431 } 432 432 433 433 .widget-icon { 434 width: 50px;435 height: 50px;434 width: 42px; 435 height: 42px; 436 436 background: #000000; 437 border-radius: 1 2px;437 border-radius: 10px; 438 438 display: flex; 439 439 align-items: center; … … 442 442 443 443 .widget-icon .dashicons { 444 font-size: 2 4px;444 font-size: 20px; 445 445 color: white; 446 446 } … … 450 450 position: relative; 451 451 display: inline-block; 452 width: 60px;453 height: 34px;452 width: 52px; 453 height: 28px; 454 454 } 455 455 … … 475 475 position: absolute; 476 476 content: ""; 477 height: 2 6px;478 width: 2 6px;479 left: 4px;480 bottom: 4px;477 height: 22px; 478 width: 22px; 479 left: 3px; 480 bottom: 3px; 481 481 background-color: white; 482 482 transition: .4s; … … 489 489 490 490 .widget-checkbox:checked + .toggle-slider:before { 491 transform: translateX(2 6px);491 transform: translateX(24px); 492 492 } 493 493 494 494 /* Widget Content */ 495 495 .widget-content h3 { 496 margin: 0 0 10px;497 font-size: 20px;496 margin: 0 0 8px; 497 font-size: 18px; 498 498 color: #1e1e1e; 499 499 font-weight: 600; … … 501 501 502 502 .widget-description { 503 margin: 0 0 20px;503 margin: 0 0 15px; 504 504 color: #666; 505 line-height: 1.5; 505 line-height: 1.4; 506 font-size: 13px; 506 507 } 507 508 508 509 .widget-features h4 { 509 margin: 0 0 10px;510 font-size: 1 4px;510 margin: 0 0 8px; 511 font-size: 13px; 511 512 color: #1e1e1e; 512 513 font-weight: 600; … … 514 515 515 516 .features-list { 516 margin: 0 0 20px;517 margin: 0 0 15px; 517 518 padding: 0; 518 519 list-style: none; … … 520 521 521 522 .features-list li { 522 padding: 4px 0 4px 20px;523 padding: 3px 0 3px 16px; 523 524 color: #666; 524 font-size: 1 3px;525 font-size: 12px; 525 526 position: relative; 526 527 } … … 570 571 @media (max-width: 768px) { 571 572 .daily-slider-widgets-manager { 572 margin: 10px;573 margin: 8px; 573 574 } 574 575 575 576 .widgets-header { 576 577 flex-direction: column; 577 gap: 20px;578 gap: 15px; 578 579 text-align: center; 579 padding: 25px;580 padding: 18px; 580 581 align-items: stretch; 581 582 } … … 583 584 .header-actions { 584 585 flex-direction: column; 585 gap: 20px;586 gap: 15px; 586 587 } 587 588 … … 595 596 596 597 .widgets-section { 597 padding: 25px 20px;598 padding: 18px 15px; 598 599 } 599 600 600 601 .section-header { 601 602 flex-direction: column; 602 gap: 1 5px;603 gap: 12px; 603 604 align-items: stretch; 604 605 } -
daily-slider/trunk/daily-slider.php
r3412251 r3412300 3 3 * Plugin Name: Daily Slider 4 4 * Description: Enhance Elementor with customizable hero sliders, review carousels, and portfolio showcases, featuring responsive design, animations, and hover effects. 5 * Version: 2. 1.05 * Version: 2.2.0 6 6 * Author: wpcoder75 7 7 * Author URI: https://github.com/asikwp75 … … 19 19 20 20 class DailySliderPlugin { 21 const VERSION = '2. 1.0';21 const VERSION = '2.2.0'; 22 22 const MINIMUM_ELEMENTOR_VERSION = '3.26.0'; 23 23 const MINIMUM_PHP_VERSION = '7.4'; … … 33 33 34 34 public function __construct() { 35 add_action( 'plugins_loaded', array( $this, 'init' ) ); 36 37 // Include dashboard 35 add_action( 'init', array( $this, 'init' ) ); 36 } 37 38 public function init() { 39 // Load text domain first thing in init 40 load_plugin_textdomain( 'daily-slider', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' ); 41 42 // Load dashboard after text domain is loaded 38 43 if ( is_admin() ) { 39 require_once plugin_dir_path( __FILE__ ) . 'admin/dashboard.php'; 40 } 41 } 42 43 public function init() { 44 // Load text domain for translations 45 load_plugin_textdomain( 'daily-slider', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' ); 46 44 $this->load_dashboard(); 45 } 46 47 // Check Elementor after text domain is loaded so admin notices can use translations 48 $this->check_elementor_and_register(); 49 } 50 51 public function load_dashboard() { 52 require_once plugin_dir_path( __FILE__ ) . 'admin/dashboard.php'; 53 new DailySliderDashboard(); 54 } 55 56 public function check_elementor_and_register() { 47 57 if ( ! did_action( 'elementor/loaded' ) ) { 48 58 add_action( 'admin_notices', array( $this, 'admin_notice_missing_main_plugin' ) ); … … 60 70 } 61 71 72 // Register Elementor hooks immediately when Elementor is available 73 $this->register_elementor_hooks(); 74 } 75 76 public function register_elementor_hooks() { 62 77 add_action( 'elementor/elements/categories_registered', array( $this, 'add_elementor_category' ) ); 63 78 add_action( 'elementor/widgets/register', array( $this, 'register_widgets' ) ); … … 201 216 )); 202 217 218 // Debug: Log widget registration 219 if (defined('WP_DEBUG') && WP_DEBUG) { 220 error_log('Daily Slider: Registering widgets. Enabled widgets: ' . print_r($enabled_widgets, true)); 221 } 222 203 223 // Register Eldorado Widget if enabled 204 224 if (isset($enabled_widgets['eldorado']) && $enabled_widgets['eldorado']) { 205 225 require_once plugin_dir_path( __FILE__ ) . 'widgets/eldorado/eldorado.php'; 206 226 $widgets_manager->register( new \DailySlider\Widgets\Eldorado_Widget() ); 227 if (defined('WP_DEBUG') && WP_DEBUG) { 228 error_log('Daily Slider: Eldorado widget registered'); 229 } 207 230 } 208 231 … … 211 234 require_once plugin_dir_path( __FILE__ ) . 'widgets/pixel/pixel.php'; 212 235 $widgets_manager->register( new \DailySlider\Widgets\Pixel_Widget() ); 236 if (defined('WP_DEBUG') && WP_DEBUG) { 237 error_log('Daily Slider: Pixel widget registered'); 238 } 213 239 } 214 240 … … 217 243 require_once plugin_dir_path( __FILE__ ) . 'widgets/review-carousel/review-carousel.php'; 218 244 $widgets_manager->register( new \DailySlider\Widgets\ReviewCarousel_Widget() ); 245 if (defined('WP_DEBUG') && WP_DEBUG) { 246 error_log('Daily Slider: Review Carousel widget registered'); 247 } 219 248 } 220 249 … … 223 252 require_once plugin_dir_path( __FILE__ ) . 'widgets/marquee/marquee.php'; 224 253 $widgets_manager->register( new \DailySlider\Widgets\Marquee_Widget() ); 254 if (defined('WP_DEBUG') && WP_DEBUG) { 255 error_log('Daily Slider: Marquee widget registered'); 256 } 225 257 } 226 258 } … … 229 261 public function admin_notice_missing_main_plugin() { 230 262 $message = sprintf( 231 // translators: %1$s is the plugin name, %2$s is the required plugin name. 232 esc_html__( '"%1$s" requires "%2$s" to be installed and activated.', 'daily-slider' ), 233 '<strong>' . esc_html__( 'DailySlider', 'daily-slider' ) . '</strong>', 234 '<strong>' . esc_html__( 'Elementor', 'daily-slider' ) . '</strong>' 263 '"%s" requires "%s" to be installed and activated.', 264 '<strong>DailySlider</strong>', 265 '<strong>Elementor</strong>' 235 266 ); 236 267 printf( '<div class="notice notice-warning daily-slider-notice is-dismissible"><p>%s</p></div>', wp_kses_post( $message ) ); … … 239 270 public function admin_notice_minimum_php_version() { 240 271 $message = sprintf( 241 // translators: %1$s is the plugin name, %2$s is "PHP", %3$s is the required PHP version. 242 esc_html__( '"%1$s" requires "%2$s" version %3$s or greater.', 'daily-slider' ), 243 '<strong>' . esc_html__( 'DailySlider', 'daily-slider' ) . '</strong>', 244 '<strong>' . esc_html__( 'PHP', 'daily-slider' ) . '</strong>', 272 '"%s" requires "%s" version %s or greater.', 273 '<strong>DailySlider</strong>', 274 '<strong>PHP</strong>', 245 275 esc_html( self::MINIMUM_PHP_VERSION ) 246 276 ); … … 250 280 public function admin_notice_minimum_elementor_version() { 251 281 $message = sprintf( 252 // translators: %1$s is the plugin name, %2$s is "Elementor", %3$s is the required Elementor version. 253 esc_html__( '"%1$s" requires "%2$s" version %3$s or greater.', 'daily-slider' ), 254 '<strong>' . esc_html__( 'DailySlider', 'daily-slider' ) . '</strong>', 255 '<strong>' . esc_html__( 'Elementor', 'daily-slider' ) . '</strong>', 282 '"%s" requires "%s" version %s or greater.', 283 '<strong>DailySlider</strong>', 284 '<strong>Elementor</strong>', 256 285 esc_html( self::MINIMUM_ELEMENTOR_VERSION ) 257 286 ); -
daily-slider/trunk/readme.txt
r3412246 r3412300 4 4 Requires at least: 5.0 5 5 Tested up to: 6.8 6 Stable Tag: 2. 1.06 Stable Tag: 2.2.0 7 7 Requires PHP: 7.4 8 8 License: GPLv2 or later … … 70 70 == Changelog == 71 71 72 = 2.1.0 [27th August 2025] = 72 ### = 2.2.0 [5th December 2025] = 73 74 * Fixed: Early translation loading error — resolved "_load_textdomain_just_in_time was called incorrectly" notice by loading the text domain properly on the `init` hook according to WordPress 6.7+ standards. 75 * Improved: Translation system compatibility with WordPress Core. 76 * Enhanced: Code structure for better stability and premium-theme compatibility. 77 78 79 ### = 2.1.0 [5th December 2025] = 73 80 74 81 - Added new customization options for all slider widgets
Note: See TracChangeset
for help on using the changeset viewer.