Changeset 3415985
- Timestamp:
- 12/10/2025 04:56:56 AM (4 days ago)
- Location:
- 3r-elementor-timeline-widget
- Files:
-
- 10 added
- 8 edited
- 1 copied
-
tags/2.6.3 (copied) (copied from 3r-elementor-timeline-widget/trunk)
-
tags/2.6.3/assets/css/style.css (modified) (1 diff)
-
tags/2.6.3/assets/css/twe-editor.css (added)
-
tags/2.6.3/assets/images (added)
-
tags/2.6.3/assets/images/twae-highlight-icon.svg (added)
-
tags/2.6.3/assets/js (added)
-
tags/2.6.3/assets/js/twe-editor.js (added)
-
tags/2.6.3/init.php (modified) (3 diffs)
-
tags/2.6.3/readme.txt (modified) (2 diffs)
-
tags/2.6.3/timeline-widget.php (modified) (3 diffs)
-
trunk/assets/css/style.css (modified) (1 diff)
-
trunk/assets/css/twe-editor.css (added)
-
trunk/assets/images (added)
-
trunk/assets/images/twae-highlight-icon.svg (added)
-
trunk/assets/js (added)
-
trunk/assets/js/twe-editor.js (added)
-
trunk/init.php (modified) (3 diffs)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/timeline-widget.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
3r-elementor-timeline-widget/tags/2.6.3/assets/css/style.css
r3328809 r3415985 214 214 align-items: center; 215 215 } 216 -
3r-elementor-timeline-widget/tags/2.6.3/init.php
r3407558 r3415985 1 1 <?php 2 3 2 /* 4 3 * Plugin Name: Vertical Timeline Widget for Elementor 5 4 * Description: Vertical Timeline Widget for Elementor Plugin add timeline element to Elementor Page builder. 6 5 * Plugin URI: https://wordpress.org/plugins/3r-elementor-timeline-widget 7 * Version:2.6. 26 * Version:2.6.3 8 7 * Requires at least: 5.2 9 8 * Requires PHP:7.2 10 9 * Author: Cool Plugins 10 * Author URI: https://coolplugins.net/?utm_source=vtwe_plugin&utm_medium=inside&utm_campaign=author_page&utm_content=plugins_list 11 11 * License:GPL v2 or later 12 12 * License URI:https://www.gnu.org/licenses/gpl-2.0.html … … 19 19 define( 'TWE_PLUGIN_URL', plugins_url( '/', __FILE__ ) ); 20 20 define( 'TWE_PLUGIN_PATH', plugin_dir_path(__FILE__)); 21 22 23 21 add_action( 'elementor/preview/enqueue_styles', 'twe_enqueue_style' ); 24 22 add_action('wp_enqueue_scripts', 'twe_enqueue_style'); 23 add_action( 'elementor/editor/after_enqueue_styles', function() { 24 25 // Load your custom editor CSS 26 wp_enqueue_style( 27 'twe-editor-styles', 28 TWE_PLUGIN_URL . 'assets/css/twe-editor.css', 29 [], 30 time() 31 ); 32 33 }); 34 add_action('elementor/editor/after_enqueue_scripts', function() { 35 wp_enqueue_script( 36 'twae-editor-js', 37 TWE_PLUGIN_URL . 'assets/js/twe-editor.js', 38 ['jquery'], 39 time(), 40 true 41 ); 42 43 wp_localize_script( 44 'twae-editor-js', 45 'twae_ajax_obj', 46 [ 47 'ajax_url' => admin_url('admin-ajax.php'), 48 'nonce' => wp_create_nonce('twae_upgrade_notice_nonce'), 49 ] 50 ); 51 }); 52 25 53 26 54 function twe_enqueue_style() { 27 55 wp_enqueue_style( 'twe-preview', TWE_PLUGIN_URL . 'assets/css/style.css', array()); 28 56 } 57 29 58 30 59 class TweTimelinePlugin { … … 55 84 56 85 TweTimelinePlugin::get_instance()->init(); 86 87 add_filter( 'plugin_action_links_' . plugin_basename(__FILE__), 'twe_add_pro_link' ); 88 function twe_add_pro_link( $links ) { 89 $links[] = '<a style="font-weight:bold; color:#852636;" href="https://cooltimeline.com/plugin/elementor-timeline-widget-pro/?utm_source=vtwe_plugin&utm_medium=inside&utm_campaign=get_pro&utm_content=plugins_list#pricing" target="_blank">Get Pro</a>'; 90 return $links; 91 } 92 add_filter( 'plugin_row_meta', 'twe_add_view_demo_row_meta', 10, 2 ); 93 function twe_add_view_demo_row_meta( $links, $file ) { 94 if ( $file === plugin_basename( __FILE__ ) ) { 95 $demo_link = '<a href="https://cooltimeline.com/demo/elementor-timeline-widget/vertical-timeline-widget-for-elementor/?utm_source=vtwe_plugin&utm_medium=inside&utm_campaign=demo&utm_content=plugins_list" target="_blank">View Demo</a>'; 96 array_splice( $links, count( $links ), 0, $demo_link ); 97 } 98 return $links; 99 } 100 101 /** 102 * AJAX: Hide Upgrade Notice 103 */ 104 add_action( 'wp_ajax_twae_hide_upgrade_notice_editor', 'twae_hide_upgrade_notice_editor_callback' ); 105 106 function twae_hide_upgrade_notice_editor_callback() { 107 108 check_ajax_referer( 'twae_upgrade_notice_nonce', 'security' ); 109 110 update_option( 'twae_hide_upgrade_notice_editor', 'yes' ); 111 112 wp_send_json_success([ 113 'message' => 'Upgrade notice dismissed' 114 ]); 115 } 116 -
3r-elementor-timeline-widget/tags/2.6.3/readme.txt
r3407558 r3415985 4 4 Tags: Elementor, vertical-timeline, elementor-timeline, timeline, widget 5 5 Requires at least: 5.2 6 Tested up to: 6. 8.37 Stable tag: 2.6. 26 Tested up to: 6.9 7 Stable tag: 2.6.3 8 8 License: GPL v2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 35 35 36 36 == Changelog == 37 38 = 2.6.3 = 39 Release Date - 10 Dec , 2025* 40 * Added helpful timeline plugin recommendations to make it easier for users to discover related features. 37 41 38 42 = 2.6.2 - 02 December 2025 = -
3r-elementor-timeline-widget/tags/2.6.3/timeline-widget.php
r3404001 r3415985 95 95 ] 96 96 ); 97 $repeater = new \Elementor\Repeater(); 98 99 $repeater->start_controls_tabs( 100 'twae_story_tabs' 101 ); 102 103 // Story Tab - Content - START 104 $repeater->start_controls_tab( 105 'twe_content_tab', 106 array( 107 'label' => __( 'Content', '3r-elementor-timeline-widget' ), 108 ) 109 ); 110 111 // Story Year / Label Show/Hide 112 $repeater->add_control( 113 'twe_show_year_label', 114 array( 115 'label' => __( 'Year / Label (Top) <a href="https://cooltimeline.com/demo/elementor-timeline-widget//?utm_source=vtwe_plugin&utm_medium=inside&utm_campaign=demo&utm_content=content_tab_settings" target="_blank" style=" pointer-events: all; color: #EDACFB;">(Demo ⇗)</a>', '3r-elementor-timeline-widget' ), 116 'type' => \Elementor\Controls_Manager::SWITCHER, 117 'label_on' => __( 'Show', 'twae' ), 118 'label_off' => __( 'Hide', 'twae' ), 119 'return_value' => 'yes', 120 'default' => 'no', 121 122 ) 123 ); 97 124 98 125 99 $repeater = new \Elementor\Repeater(); 126 // Story Label / Date 127 $repeater->add_control( 128 'twe_date_label', 129 array( 130 'label' => __( 'Label / Date', '3r-elementor-timeline-widget' ), 131 'type' => \Elementor\Controls_Manager::TEXT, 132 'default' => 'Jan 2020', 133 ) 134 ); 135 136 137 // Story Media 138 $repeater->add_control( 139 'twe_media', 140 array( 141 'label' => __( 'Add Video/Slideshow', '3r-elementor-timeline-widget' ), 142 'type' => \Elementor\Controls_Manager::CHOOSE, 143 'options' => array( 144 'video' => array( 145 'title' => __( 'Video', '3r-elementor-timeline-widget' ), 146 'icon' => 'fa fa-video', 147 ), 148 'slideshow' => array( 149 'title' => __( 'Slideshow', '3r-elementor-timeline-widget' ), 150 'icon' => 'fa fa-images', 151 ), 152 ), 153 'default' => 'image', 154 'toggle' => true, 155 ) 156 ); 157 158 $repeater->add_control( 159 'twe_label_upgrade_button', 160 [ 161 'type' => \Elementor\Controls_Manager::RAW_HTML, 162 'raw' => ' 163 <div class="twae-upgrade-content-notice"> 164 <a href="https://cooltimeline.com/plugin/elementor-timeline-widget-pro/?utm_source=vtwe_plugin&utm_medium=inside&utm_campaign=get_pro&utm_content=content_tab_settings#pricing" 165 target="_blank" 166 class="twae-upgrade-link"> 167 UPGRADE TO PRO 💎 168 </a> 169 </div> 170 ', 171 'content_classes' => 'twae-upgrade-container', 172 ] 173 ); 100 174 101 175 $repeater->add_control( … … 134 208 ] 135 209 ); 136 210 $repeater->end_controls_tab(); 211 $repeater->start_controls_tab( 212 'twe_advanced_tab', 213 array( 214 'label' => __( 'Advanced', '3r-elementor-timeline-widget' ), 215 ) 216 ); 217 $repeater->add_control( 218 'twe_color_upgrade_button', 219 [ 220 'type' => \Elementor\Controls_Manager::RAW_HTML, 221 'raw' => ' 222 <div class="twae-upgrade-color-notice"> 223 <a href="https://cooltimeline.com/plugin/elementor-timeline-widget-pro/?utm_source=vtwe_plugin&utm_medium=inside&utm_campaign=get_pro&utm_content=advanced_tab_settings#pricing" 224 target="_blank" 225 class="twae-upgrade-link"> 226 UPGRADE TO PRO 💎 227 </a> 228 </div> 229 ', 230 'content_classes' => 'twae-upgrade-container', 231 ] 232 ); 233 234 235 // Story Box Background 236 $repeater->add_control( 237 'twe_custom_story_bgcolor', 238 array( 239 'label' => __( 'Background Color', '3r-elementor-timeline-widget' ), 240 'type' => \Elementor\Controls_Manager::COLOR, 241 'render_type' => 'template', 242 'selectors' => array( 243 '{{WRAPPER}} .twae-wrapper {{CURRENT_ITEM}}' => '--tw-cbx-bg: {{VALUE}}; 244 --tw-cbx-bg-gradient: {{VALUE}}; 245 --tw-arw-bg: {{VALUE}};', 246 ), 247 ) 248 ); 249 // Story Box Border Color 250 $repeater->add_control( 251 'twe_custom_story_bdcolor', 252 array( 253 'label' => esc_html__( 'Border Color', '3r-elementor-timeline-widget' ), 254 'type' => \Elementor\Controls_Manager::COLOR, 255 'selectors' => array( 256 '{{WRAPPER}} .twae-wrapper {{CURRENT_ITEM}}' => '--tw-cbx-bd-color: {{VALUE}}; 257 --tw-cbx-bd-color: {{VALUE}}; 258 --tw-arw-bd-color: {{VALUE}};', 259 ), 260 ) 261 ); 262 // Story Title Color 263 $repeater->add_control( 264 'twe_custom_story_title_color', 265 array( 266 'label' => __( 'Title Color', '3r-elementor-timeline-widget' ), 267 'type' => \Elementor\Controls_Manager::COLOR, 268 'selectors' => array( 269 '{{WRAPPER}} .twae-wrapper {{CURRENT_ITEM}}' => '--tw-cbx-title-color: {{VALUE}}', 270 ), 271 ) 272 ); 273 274 // Story Description Color 275 $repeater->add_control( 276 'twe_custom_description_color', 277 array( 278 'label' => __( 'Description Color', '3r-elementor-timeline-widget' ), 279 'type' => \Elementor\Controls_Manager::COLOR, 280 'selectors' => array( 281 '{{WRAPPER}} .twae-wrapper {{CURRENT_ITEM}}' => '--tw-cbx-des-color: {{VALUE}}', 282 ), 283 ) 284 ); 285 286 $repeater->add_control( 287 'twe_add_icon_on_line', 288 [ 289 'label' => __( 'Add Icon on Line', '3r-elementor-timeline-widget' ), 290 'type' => \Elementor\Controls_Manager::SWITCHER, 291 'label_on' => __( 'Yes', '3r-elementor-timeline-widget' ), 292 'label_off' => __( 'No', '3r-elementor-timeline-widget' ), 293 'return_value' => 'yes', 294 'default' => 'no', 295 ] 296 ); 297 298 // Story Read More Show/Hide 299 $repeater->add_control( 300 'twe_title_link', 301 array( 302 'label' => __( 'Read More Button', '3r-elementor-timeline-widget' ), 303 'type' => \Elementor\Controls_Manager::SWITCHER, 304 'label_on' => __( 'Show', 'twae' ), 305 'label_off' => __( 'Hide', 'twae' ), 306 'return_value' => 'yes', 307 'default' => 'no', 308 ) 309 ); 310 311 $repeater->end_controls_tab(); 312 $repeater->end_controls_tabs(); 137 313 $this->add_control( 138 314 'list', … … 153 329 ] 154 330 ); 155 156 $this->end_controls_section(); 331 332 333 334 335 336 if ( !file_exists( WP_PLUGIN_DIR . '/timeline-widget-addon-for-elementor-pro/timeline-widget-addon-pro-for-elementor.php' )){ 337 if ( get_option( 'twae_hide_upgrade_notice_editor' ) !== 'yes' ) { 338 $this->add_control( 339 'twae_upgrade_notice', 340 [ 341 'type' => \Elementor\Controls_Manager::RAW_HTML, 342 'raw' => '<div class="elementor-control-raw-html"> 343 <div class="elementor-control-notice elementor-control-notice-type-info twae-upgrade-pro-notice" style="position: relative;"> 344 <button type="button" class="elementor-control-notice-dismiss twae_hide_upgrade_notice_editor" style="position: absolute; top: 5px; right: 5px; z-index: 10;"> 345 <i class="eicon-close"></i> 346 </button> 347 <div class="elementor-control-notice-icon"> 348 <img class="twae-highlight-icon" src="'.esc_url( TWE_PLUGIN_URL . 'assets/images/twae-highlight-icon.svg' ).'" width="250" alt="Highlight Icon" style="filter: brightness(0) saturate(100%) invert(32%) sepia(84%) saturate(627%) hue-rotate(190deg) brightness(92%) contrast(92%);" /> 349 </div> 350 <div class="elementor-control-notice-main"> 351 <div class="elementor-control-notice-main-content"> 352 Want more advanced features? Upgrade to the Pro version. 353 </div> 354 <div class="elementor-control-notice-main-actions"> 355 <a class="elementor-button e-btn e-info e-btn-1" style="color:white;" 356 href="https://cooltimeline.com/plugin/elementor-timeline-widget-pro/?utm_source=vtwe_plugin&utm_medium=inside&utm_campaign=get_pro&utm_content=content_tab_settings#pricing" 357 target="_blank"> 358 Get Pro 359 </a> 360 </div> 361 </div> 362 </div> 363 </div>', 364 'content_classes' => 'twae-upgrade-box', 365 ] 366 ); 367 } 368 } 369 370 if ( defined( 'TWAE_PRO_VERSION' ) || defined( 'TWAE_VERSION' ) ) { 371 if (get_option('twe_hide_migration_notice') !== 'yes' ) { 372 373 $this->add_control( 374 'twae_migrate_notice', 375 [ 376 'type' => \Elementor\Controls_Manager::RAW_HTML, 377 'raw' => '<div class="elementor-control-raw-html"> 378 <div class="elementor-control-notice elementor-control-notice-type-info twae-migration-notice" style="position: relative;"> 379 <button type="button" class="elementor-control-notice-dismiss twae_hide_migration_notice_editor" style="position: absolute; top: 5px; right: 5px; z-index: 10;"> 380 <i class="eicon-close"></i> 381 </button> 382 <div class="elementor-control-notice-icon"> 383 <img class="twae-highlight-icon" src="'.esc_url( TWE_PLUGIN_URL . 'assets/images/twae-highlight-icon.svg' ).'" width="250" alt="Highlight Icon" style="filter: brightness(0) saturate(100%) invert(32%) sepia(84%) saturate(627%) hue-rotate(190deg) brightness(92%) contrast(92%);" /> 384 </div> 385 <div class="elementor-control-notice-main"> 386 <div class="elementor-control-notice-main-content"> 387 Do you want to migrate this timeline into Timeline Widget Pro to use the advanced features? 388 </div> 389 <div class="elementor-control-notice-main-actions"> 390 <button type="button" class="elementor-button e-btn e-info e-btn-1" id="twae-run-migration">Migrate Now</button> 391 </div> 392 </div> 393 </div> 394 </div>', 395 'content_classes' => 'twae-migrate-box', 396 ] 397 ); 398 } 399 } 400 401 $this->end_controls_section(); 402 403 $this->start_controls_section( 404 'twe_layout_section', 405 array( 406 'label' => __( 'Layout Settings', '3r-elementor-timeline-widget' ), 407 'tab' => \Elementor\Controls_Manager::TAB_CONTENT, 408 ) 409 ); 410 // Select Layout 411 $this->add_control( 412 'twe_layout', 413 array( 414 'label' => __( 'Layout', '3r-elementor-timeline-widget' ), 415 'type' => \Elementor\Controls_Manager::SELECT, 416 'default' => 'centered', 417 'options' => array( 418 'centered' => 'Vertical Right / Left (Free)', 419 'one-sided' => 'Vertical Right Only(Pro)', 420 'left-sided' => 'Vertical Left Only(Pro)', 421 'compact' => 'Vertical Compact(Pro)', 422 'modern' => 'Vertical Tab(Pro)', 423 'horizontal' => 'Horizontal Top(Pro)', 424 'horizontal-bottom' => 'Horizontal Bottom(Pro)', 425 'horizontal-highlighted' => 'Horizontal Highlighted(Pro)', 426 ), 427 ) 428 ); 429 430 431 // Story Content Alignment 432 $this->add_control( 433 'twe_content_alignment', 434 array( 435 'label' => esc_html__( 'Content Alignment', '3r-elementor-timeline-widget' ), 436 'type' => \Elementor\Controls_Manager::CHOOSE, 437 'separator' => 'before', 438 'options' => array( 439 'left' => array( 440 'title' => esc_html__( 'Left', '3r-elementor-timeline-widget' ), 441 'icon' => 'eicon-text-align-left', 442 ), 443 'center' => array( 444 'title' => esc_html__( 'Center', '3r-elementor-timeline-widget' ), 445 'icon' => 'eicon-text-align-center', 446 ), 447 'right' => array( 448 'title' => esc_html__( 'Right', '3r-elementor-timeline-widget' ), 449 'icon' => 'eicon-text-align-right', 450 ), 451 ), 452 'toggle' => true, 453 'selectors' => array( 454 '{{WRAPPER}} .twae-wrapper' => '--tw-cbx-text-align: {{VALUE}};', 455 ), 456 ) 457 ); 458 459 $this->add_control( 460 'twe_display_icons', 461 array( 462 'label' => esc_html__( 'Display Icons', '3r-elementor-timeline-widget' ), 463 'type' => \Elementor\Controls_Manager::CHOOSE, 464 'options' => array( 465 'displayicons' => array( 466 'title' => esc_html__( 'Icons', '3r-elementor-timeline-widget' ), 467 'icon' => 'eicon-clock', 468 ), 469 'displaydots' => array( 470 'title' => esc_html__( 'Dots', '3r-elementor-timeline-widget' ), 471 'icon' => 'eicon-circle', 472 473 ), 474 'displaynone' => array( 475 'title' => esc_html__( 'None', '3r-elementor-timeline-widget' ), 476 'icon' => 'eicon-ban', 477 ), 478 ), 479 'default' => 'displayicons', 480 'toggle' => false, 481 482 ) 483 ); 484 $this->add_control( 485 'twe_animation', 486 array( 487 'label' => __( 'Animations', '3r-elementor-timeline-widget' ), 488 'type' => \Elementor\Controls_Manager::SELECT, 489 'default' => 'fade', 490 'options' => array( 491 'none' => 'none', 492 'fade' => 'fade', 493 'zoom-in' => 'zoom-in', 494 'flip-right' => 'flip-right', 495 'zoom-out' => 'zoom-out', 496 'fade-up' => 'fade-up', 497 'fade-down' => 'fade-down', 498 ), 499 500 ) 501 ); 502 $this->add_control( 503 'twe_upgrade_button_layout_section', 504 [ 505 'type' => \Elementor\Controls_Manager::RAW_HTML, 506 'raw' => ' 507 <div class="twe-upgrade-button-notice-layout-section"> 508 <a href="https://cooltimeline.com/plugin/elementor-timeline-widget-pro/?utm_source=vtwe_plugin&utm_medium=inside&utm_campaign=get_pro&utm_content=layout_tab_settings#pricing" 509 target="_blank" 510 class="twae-upgrade-link"> 511 UPGRADE TO PRO 💎 512 </a> 513 </div> 514 ', 515 'content_classes' => 'twae-upgrade-container', 516 ] 517 ); 518 $this->end_controls_section(); 519 157 520 /*------- BoxStyle ------------*/ 158 521 $this->start_controls_section( -
3r-elementor-timeline-widget/trunk/assets/css/style.css
r3328809 r3415985 214 214 align-items: center; 215 215 } 216 -
3r-elementor-timeline-widget/trunk/init.php
r3407558 r3415985 1 1 <?php 2 3 2 /* 4 3 * Plugin Name: Vertical Timeline Widget for Elementor 5 4 * Description: Vertical Timeline Widget for Elementor Plugin add timeline element to Elementor Page builder. 6 5 * Plugin URI: https://wordpress.org/plugins/3r-elementor-timeline-widget 7 * Version:2.6. 26 * Version:2.6.3 8 7 * Requires at least: 5.2 9 8 * Requires PHP:7.2 10 9 * Author: Cool Plugins 10 * Author URI: https://coolplugins.net/?utm_source=vtwe_plugin&utm_medium=inside&utm_campaign=author_page&utm_content=plugins_list 11 11 * License:GPL v2 or later 12 12 * License URI:https://www.gnu.org/licenses/gpl-2.0.html … … 19 19 define( 'TWE_PLUGIN_URL', plugins_url( '/', __FILE__ ) ); 20 20 define( 'TWE_PLUGIN_PATH', plugin_dir_path(__FILE__)); 21 22 23 21 add_action( 'elementor/preview/enqueue_styles', 'twe_enqueue_style' ); 24 22 add_action('wp_enqueue_scripts', 'twe_enqueue_style'); 23 add_action( 'elementor/editor/after_enqueue_styles', function() { 24 25 // Load your custom editor CSS 26 wp_enqueue_style( 27 'twe-editor-styles', 28 TWE_PLUGIN_URL . 'assets/css/twe-editor.css', 29 [], 30 time() 31 ); 32 33 }); 34 add_action('elementor/editor/after_enqueue_scripts', function() { 35 wp_enqueue_script( 36 'twae-editor-js', 37 TWE_PLUGIN_URL . 'assets/js/twe-editor.js', 38 ['jquery'], 39 time(), 40 true 41 ); 42 43 wp_localize_script( 44 'twae-editor-js', 45 'twae_ajax_obj', 46 [ 47 'ajax_url' => admin_url('admin-ajax.php'), 48 'nonce' => wp_create_nonce('twae_upgrade_notice_nonce'), 49 ] 50 ); 51 }); 52 25 53 26 54 function twe_enqueue_style() { 27 55 wp_enqueue_style( 'twe-preview', TWE_PLUGIN_URL . 'assets/css/style.css', array()); 28 56 } 57 29 58 30 59 class TweTimelinePlugin { … … 55 84 56 85 TweTimelinePlugin::get_instance()->init(); 86 87 add_filter( 'plugin_action_links_' . plugin_basename(__FILE__), 'twe_add_pro_link' ); 88 function twe_add_pro_link( $links ) { 89 $links[] = '<a style="font-weight:bold; color:#852636;" href="https://cooltimeline.com/plugin/elementor-timeline-widget-pro/?utm_source=vtwe_plugin&utm_medium=inside&utm_campaign=get_pro&utm_content=plugins_list#pricing" target="_blank">Get Pro</a>'; 90 return $links; 91 } 92 add_filter( 'plugin_row_meta', 'twe_add_view_demo_row_meta', 10, 2 ); 93 function twe_add_view_demo_row_meta( $links, $file ) { 94 if ( $file === plugin_basename( __FILE__ ) ) { 95 $demo_link = '<a href="https://cooltimeline.com/demo/elementor-timeline-widget/vertical-timeline-widget-for-elementor/?utm_source=vtwe_plugin&utm_medium=inside&utm_campaign=demo&utm_content=plugins_list" target="_blank">View Demo</a>'; 96 array_splice( $links, count( $links ), 0, $demo_link ); 97 } 98 return $links; 99 } 100 101 /** 102 * AJAX: Hide Upgrade Notice 103 */ 104 add_action( 'wp_ajax_twae_hide_upgrade_notice_editor', 'twae_hide_upgrade_notice_editor_callback' ); 105 106 function twae_hide_upgrade_notice_editor_callback() { 107 108 check_ajax_referer( 'twae_upgrade_notice_nonce', 'security' ); 109 110 update_option( 'twae_hide_upgrade_notice_editor', 'yes' ); 111 112 wp_send_json_success([ 113 'message' => 'Upgrade notice dismissed' 114 ]); 115 } 116 -
3r-elementor-timeline-widget/trunk/readme.txt
r3407558 r3415985 4 4 Tags: Elementor, vertical-timeline, elementor-timeline, timeline, widget 5 5 Requires at least: 5.2 6 Tested up to: 6. 8.37 Stable tag: 2.6. 26 Tested up to: 6.9 7 Stable tag: 2.6.3 8 8 License: GPL v2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 35 35 36 36 == Changelog == 37 38 = 2.6.3 = 39 Release Date - 10 Dec , 2025* 40 * Added helpful timeline plugin recommendations to make it easier for users to discover related features. 37 41 38 42 = 2.6.2 - 02 December 2025 = -
3r-elementor-timeline-widget/trunk/timeline-widget.php
r3404001 r3415985 95 95 ] 96 96 ); 97 $repeater = new \Elementor\Repeater(); 98 99 $repeater->start_controls_tabs( 100 'twae_story_tabs' 101 ); 102 103 // Story Tab - Content - START 104 $repeater->start_controls_tab( 105 'twe_content_tab', 106 array( 107 'label' => __( 'Content', '3r-elementor-timeline-widget' ), 108 ) 109 ); 110 111 // Story Year / Label Show/Hide 112 $repeater->add_control( 113 'twe_show_year_label', 114 array( 115 'label' => __( 'Year / Label (Top) <a href="https://cooltimeline.com/demo/elementor-timeline-widget//?utm_source=vtwe_plugin&utm_medium=inside&utm_campaign=demo&utm_content=content_tab_settings" target="_blank" style=" pointer-events: all; color: #EDACFB;">(Demo ⇗)</a>', '3r-elementor-timeline-widget' ), 116 'type' => \Elementor\Controls_Manager::SWITCHER, 117 'label_on' => __( 'Show', 'twae' ), 118 'label_off' => __( 'Hide', 'twae' ), 119 'return_value' => 'yes', 120 'default' => 'no', 121 122 ) 123 ); 97 124 98 125 99 $repeater = new \Elementor\Repeater(); 126 // Story Label / Date 127 $repeater->add_control( 128 'twe_date_label', 129 array( 130 'label' => __( 'Label / Date', '3r-elementor-timeline-widget' ), 131 'type' => \Elementor\Controls_Manager::TEXT, 132 'default' => 'Jan 2020', 133 ) 134 ); 135 136 137 // Story Media 138 $repeater->add_control( 139 'twe_media', 140 array( 141 'label' => __( 'Add Video/Slideshow', '3r-elementor-timeline-widget' ), 142 'type' => \Elementor\Controls_Manager::CHOOSE, 143 'options' => array( 144 'video' => array( 145 'title' => __( 'Video', '3r-elementor-timeline-widget' ), 146 'icon' => 'fa fa-video', 147 ), 148 'slideshow' => array( 149 'title' => __( 'Slideshow', '3r-elementor-timeline-widget' ), 150 'icon' => 'fa fa-images', 151 ), 152 ), 153 'default' => 'image', 154 'toggle' => true, 155 ) 156 ); 157 158 $repeater->add_control( 159 'twe_label_upgrade_button', 160 [ 161 'type' => \Elementor\Controls_Manager::RAW_HTML, 162 'raw' => ' 163 <div class="twae-upgrade-content-notice"> 164 <a href="https://cooltimeline.com/plugin/elementor-timeline-widget-pro/?utm_source=vtwe_plugin&utm_medium=inside&utm_campaign=get_pro&utm_content=content_tab_settings#pricing" 165 target="_blank" 166 class="twae-upgrade-link"> 167 UPGRADE TO PRO 💎 168 </a> 169 </div> 170 ', 171 'content_classes' => 'twae-upgrade-container', 172 ] 173 ); 100 174 101 175 $repeater->add_control( … … 134 208 ] 135 209 ); 136 210 $repeater->end_controls_tab(); 211 $repeater->start_controls_tab( 212 'twe_advanced_tab', 213 array( 214 'label' => __( 'Advanced', '3r-elementor-timeline-widget' ), 215 ) 216 ); 217 $repeater->add_control( 218 'twe_color_upgrade_button', 219 [ 220 'type' => \Elementor\Controls_Manager::RAW_HTML, 221 'raw' => ' 222 <div class="twae-upgrade-color-notice"> 223 <a href="https://cooltimeline.com/plugin/elementor-timeline-widget-pro/?utm_source=vtwe_plugin&utm_medium=inside&utm_campaign=get_pro&utm_content=advanced_tab_settings#pricing" 224 target="_blank" 225 class="twae-upgrade-link"> 226 UPGRADE TO PRO 💎 227 </a> 228 </div> 229 ', 230 'content_classes' => 'twae-upgrade-container', 231 ] 232 ); 233 234 235 // Story Box Background 236 $repeater->add_control( 237 'twe_custom_story_bgcolor', 238 array( 239 'label' => __( 'Background Color', '3r-elementor-timeline-widget' ), 240 'type' => \Elementor\Controls_Manager::COLOR, 241 'render_type' => 'template', 242 'selectors' => array( 243 '{{WRAPPER}} .twae-wrapper {{CURRENT_ITEM}}' => '--tw-cbx-bg: {{VALUE}}; 244 --tw-cbx-bg-gradient: {{VALUE}}; 245 --tw-arw-bg: {{VALUE}};', 246 ), 247 ) 248 ); 249 // Story Box Border Color 250 $repeater->add_control( 251 'twe_custom_story_bdcolor', 252 array( 253 'label' => esc_html__( 'Border Color', '3r-elementor-timeline-widget' ), 254 'type' => \Elementor\Controls_Manager::COLOR, 255 'selectors' => array( 256 '{{WRAPPER}} .twae-wrapper {{CURRENT_ITEM}}' => '--tw-cbx-bd-color: {{VALUE}}; 257 --tw-cbx-bd-color: {{VALUE}}; 258 --tw-arw-bd-color: {{VALUE}};', 259 ), 260 ) 261 ); 262 // Story Title Color 263 $repeater->add_control( 264 'twe_custom_story_title_color', 265 array( 266 'label' => __( 'Title Color', '3r-elementor-timeline-widget' ), 267 'type' => \Elementor\Controls_Manager::COLOR, 268 'selectors' => array( 269 '{{WRAPPER}} .twae-wrapper {{CURRENT_ITEM}}' => '--tw-cbx-title-color: {{VALUE}}', 270 ), 271 ) 272 ); 273 274 // Story Description Color 275 $repeater->add_control( 276 'twe_custom_description_color', 277 array( 278 'label' => __( 'Description Color', '3r-elementor-timeline-widget' ), 279 'type' => \Elementor\Controls_Manager::COLOR, 280 'selectors' => array( 281 '{{WRAPPER}} .twae-wrapper {{CURRENT_ITEM}}' => '--tw-cbx-des-color: {{VALUE}}', 282 ), 283 ) 284 ); 285 286 $repeater->add_control( 287 'twe_add_icon_on_line', 288 [ 289 'label' => __( 'Add Icon on Line', '3r-elementor-timeline-widget' ), 290 'type' => \Elementor\Controls_Manager::SWITCHER, 291 'label_on' => __( 'Yes', '3r-elementor-timeline-widget' ), 292 'label_off' => __( 'No', '3r-elementor-timeline-widget' ), 293 'return_value' => 'yes', 294 'default' => 'no', 295 ] 296 ); 297 298 // Story Read More Show/Hide 299 $repeater->add_control( 300 'twe_title_link', 301 array( 302 'label' => __( 'Read More Button', '3r-elementor-timeline-widget' ), 303 'type' => \Elementor\Controls_Manager::SWITCHER, 304 'label_on' => __( 'Show', 'twae' ), 305 'label_off' => __( 'Hide', 'twae' ), 306 'return_value' => 'yes', 307 'default' => 'no', 308 ) 309 ); 310 311 $repeater->end_controls_tab(); 312 $repeater->end_controls_tabs(); 137 313 $this->add_control( 138 314 'list', … … 153 329 ] 154 330 ); 155 156 $this->end_controls_section(); 331 332 333 334 335 336 if ( !file_exists( WP_PLUGIN_DIR . '/timeline-widget-addon-for-elementor-pro/timeline-widget-addon-pro-for-elementor.php' )){ 337 if ( get_option( 'twae_hide_upgrade_notice_editor' ) !== 'yes' ) { 338 $this->add_control( 339 'twae_upgrade_notice', 340 [ 341 'type' => \Elementor\Controls_Manager::RAW_HTML, 342 'raw' => '<div class="elementor-control-raw-html"> 343 <div class="elementor-control-notice elementor-control-notice-type-info twae-upgrade-pro-notice" style="position: relative;"> 344 <button type="button" class="elementor-control-notice-dismiss twae_hide_upgrade_notice_editor" style="position: absolute; top: 5px; right: 5px; z-index: 10;"> 345 <i class="eicon-close"></i> 346 </button> 347 <div class="elementor-control-notice-icon"> 348 <img class="twae-highlight-icon" src="'.esc_url( TWE_PLUGIN_URL . 'assets/images/twae-highlight-icon.svg' ).'" width="250" alt="Highlight Icon" style="filter: brightness(0) saturate(100%) invert(32%) sepia(84%) saturate(627%) hue-rotate(190deg) brightness(92%) contrast(92%);" /> 349 </div> 350 <div class="elementor-control-notice-main"> 351 <div class="elementor-control-notice-main-content"> 352 Want more advanced features? Upgrade to the Pro version. 353 </div> 354 <div class="elementor-control-notice-main-actions"> 355 <a class="elementor-button e-btn e-info e-btn-1" style="color:white;" 356 href="https://cooltimeline.com/plugin/elementor-timeline-widget-pro/?utm_source=vtwe_plugin&utm_medium=inside&utm_campaign=get_pro&utm_content=content_tab_settings#pricing" 357 target="_blank"> 358 Get Pro 359 </a> 360 </div> 361 </div> 362 </div> 363 </div>', 364 'content_classes' => 'twae-upgrade-box', 365 ] 366 ); 367 } 368 } 369 370 if ( defined( 'TWAE_PRO_VERSION' ) || defined( 'TWAE_VERSION' ) ) { 371 if (get_option('twe_hide_migration_notice') !== 'yes' ) { 372 373 $this->add_control( 374 'twae_migrate_notice', 375 [ 376 'type' => \Elementor\Controls_Manager::RAW_HTML, 377 'raw' => '<div class="elementor-control-raw-html"> 378 <div class="elementor-control-notice elementor-control-notice-type-info twae-migration-notice" style="position: relative;"> 379 <button type="button" class="elementor-control-notice-dismiss twae_hide_migration_notice_editor" style="position: absolute; top: 5px; right: 5px; z-index: 10;"> 380 <i class="eicon-close"></i> 381 </button> 382 <div class="elementor-control-notice-icon"> 383 <img class="twae-highlight-icon" src="'.esc_url( TWE_PLUGIN_URL . 'assets/images/twae-highlight-icon.svg' ).'" width="250" alt="Highlight Icon" style="filter: brightness(0) saturate(100%) invert(32%) sepia(84%) saturate(627%) hue-rotate(190deg) brightness(92%) contrast(92%);" /> 384 </div> 385 <div class="elementor-control-notice-main"> 386 <div class="elementor-control-notice-main-content"> 387 Do you want to migrate this timeline into Timeline Widget Pro to use the advanced features? 388 </div> 389 <div class="elementor-control-notice-main-actions"> 390 <button type="button" class="elementor-button e-btn e-info e-btn-1" id="twae-run-migration">Migrate Now</button> 391 </div> 392 </div> 393 </div> 394 </div>', 395 'content_classes' => 'twae-migrate-box', 396 ] 397 ); 398 } 399 } 400 401 $this->end_controls_section(); 402 403 $this->start_controls_section( 404 'twe_layout_section', 405 array( 406 'label' => __( 'Layout Settings', '3r-elementor-timeline-widget' ), 407 'tab' => \Elementor\Controls_Manager::TAB_CONTENT, 408 ) 409 ); 410 // Select Layout 411 $this->add_control( 412 'twe_layout', 413 array( 414 'label' => __( 'Layout', '3r-elementor-timeline-widget' ), 415 'type' => \Elementor\Controls_Manager::SELECT, 416 'default' => 'centered', 417 'options' => array( 418 'centered' => 'Vertical Right / Left (Free)', 419 'one-sided' => 'Vertical Right Only(Pro)', 420 'left-sided' => 'Vertical Left Only(Pro)', 421 'compact' => 'Vertical Compact(Pro)', 422 'modern' => 'Vertical Tab(Pro)', 423 'horizontal' => 'Horizontal Top(Pro)', 424 'horizontal-bottom' => 'Horizontal Bottom(Pro)', 425 'horizontal-highlighted' => 'Horizontal Highlighted(Pro)', 426 ), 427 ) 428 ); 429 430 431 // Story Content Alignment 432 $this->add_control( 433 'twe_content_alignment', 434 array( 435 'label' => esc_html__( 'Content Alignment', '3r-elementor-timeline-widget' ), 436 'type' => \Elementor\Controls_Manager::CHOOSE, 437 'separator' => 'before', 438 'options' => array( 439 'left' => array( 440 'title' => esc_html__( 'Left', '3r-elementor-timeline-widget' ), 441 'icon' => 'eicon-text-align-left', 442 ), 443 'center' => array( 444 'title' => esc_html__( 'Center', '3r-elementor-timeline-widget' ), 445 'icon' => 'eicon-text-align-center', 446 ), 447 'right' => array( 448 'title' => esc_html__( 'Right', '3r-elementor-timeline-widget' ), 449 'icon' => 'eicon-text-align-right', 450 ), 451 ), 452 'toggle' => true, 453 'selectors' => array( 454 '{{WRAPPER}} .twae-wrapper' => '--tw-cbx-text-align: {{VALUE}};', 455 ), 456 ) 457 ); 458 459 $this->add_control( 460 'twe_display_icons', 461 array( 462 'label' => esc_html__( 'Display Icons', '3r-elementor-timeline-widget' ), 463 'type' => \Elementor\Controls_Manager::CHOOSE, 464 'options' => array( 465 'displayicons' => array( 466 'title' => esc_html__( 'Icons', '3r-elementor-timeline-widget' ), 467 'icon' => 'eicon-clock', 468 ), 469 'displaydots' => array( 470 'title' => esc_html__( 'Dots', '3r-elementor-timeline-widget' ), 471 'icon' => 'eicon-circle', 472 473 ), 474 'displaynone' => array( 475 'title' => esc_html__( 'None', '3r-elementor-timeline-widget' ), 476 'icon' => 'eicon-ban', 477 ), 478 ), 479 'default' => 'displayicons', 480 'toggle' => false, 481 482 ) 483 ); 484 $this->add_control( 485 'twe_animation', 486 array( 487 'label' => __( 'Animations', '3r-elementor-timeline-widget' ), 488 'type' => \Elementor\Controls_Manager::SELECT, 489 'default' => 'fade', 490 'options' => array( 491 'none' => 'none', 492 'fade' => 'fade', 493 'zoom-in' => 'zoom-in', 494 'flip-right' => 'flip-right', 495 'zoom-out' => 'zoom-out', 496 'fade-up' => 'fade-up', 497 'fade-down' => 'fade-down', 498 ), 499 500 ) 501 ); 502 $this->add_control( 503 'twe_upgrade_button_layout_section', 504 [ 505 'type' => \Elementor\Controls_Manager::RAW_HTML, 506 'raw' => ' 507 <div class="twe-upgrade-button-notice-layout-section"> 508 <a href="https://cooltimeline.com/plugin/elementor-timeline-widget-pro/?utm_source=vtwe_plugin&utm_medium=inside&utm_campaign=get_pro&utm_content=layout_tab_settings#pricing" 509 target="_blank" 510 class="twae-upgrade-link"> 511 UPGRADE TO PRO 💎 512 </a> 513 </div> 514 ', 515 'content_classes' => 'twae-upgrade-container', 516 ] 517 ); 518 $this->end_controls_section(); 519 157 520 /*------- BoxStyle ------------*/ 158 521 $this->start_controls_section(
Note: See TracChangeset
for help on using the changeset viewer.