Changeset 312208
- Timestamp:
- 02/06/2026 05:11:25 AM (9 months ago)
- Location:
- animal-pet-store/3.7
- Files:
-
- 6 edited
- 1 copied
-
. (copied) (copied from animal-pet-store/3.5 )
-
assets/css/admin.css (modified) (7 diffs)
-
assets/js/animal-pet-store-admin.js (modified) (2 diffs)
-
functions.php (modified) (4 diffs)
-
inc/about-theme.php (modified) (13 diffs)
-
readme.txt (modified) (2 diffs)
-
style.css (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
animal-pet-store/3.7/assets/css/admin.css
r286406 r312208 13 13 padding: 10px 0; 14 14 } 15 .animal-pet-store-tabcontent { 16 display: none; 17 } 18 .animal-pet-store-tablinks { 19 background: none; 20 border: none; 21 cursor: pointer; 22 } 23 .animal-pet-store-tablinks.nav-tab-active, 24 .animal-pet-store-tablinks.active { 25 background: #fff; 26 } 27 15 28 /** Theme button css */ 16 29 .actions a { … … 45 58 .about-wrap h1{ 46 59 margin: 35px 0; 47 } 48 .about-wrap h1,.theme-description .about-text { 60 font-weight: 600; 61 font-size: 42px; 62 } 63 .theme-description .about-text { 49 64 margin: 0; 50 65 } … … 197 212 align-items: center; 198 213 } 199 .col.card.success-demo{ 214 .demo-button-three{ 215 display: flex; 216 gap: 15px; 217 } 218 .col.card.success-demo .demo-button-three a.button-primary{ 219 padding: 5px 18px; 220 font-size: 17px; 221 } 222 .col.card.success-demo { 200 223 position: relative; 201 224 margin-top: 20px; 202 225 text-align: center; 203 padding: 2em;204 min-width: 500px;205 max-width: 687px;206 height: 200px;226 padding: 3em; 227 min-width: 935px; 228 max-width: 724px; 229 height: 380px; 207 230 border: 1px solid #c3c4c7; 208 231 box-shadow: 0 1px 1px rgba(0, 0, 0, .04); 209 232 background: #fff; 210 233 box-sizing: border-box; 234 display: flex; 211 235 justify-content: center; 236 flex-direction: column; 212 237 align-items: center; 213 238 } … … 223 248 } 224 249 .imp-success{ 225 font-size: 18px;250 font-size: 20px !important; 226 251 font-weight: 600; 227 252 margin: 10px 0; 228 253 } 254 .theme-animal-pet-store .actions{ 255 margin: 5em 0; 256 display: flex; 257 align-items: center; 258 justify-content: center; 259 } 260 .animal-pet-store-tablinks.active { 261 background: #fff !important; 262 } 263 229 264 .col.card.demo-btn input.button.button-primary, 230 265 .col.card.success-demo .button-primary { … … 421 456 padding: 2em; 422 457 } 423 .about-wrap#demo-success-modal img{458 #demo-success-modal img{ 424 459 width: 50px !important; 425 460 height: 50px !important; … … 543 578 font-weight: 400; 544 579 } 545 nav.nav-tab-wrapper.wp-clearfix{ 546 margin-bottom: 38px; 547 } 580 nav.nav-tab-wrapper.wp-clearfix { 581 margin-bottom: 15px; 582 margin-top: 30px; 583 width: fit-content; 584 } 585 .about-wrap img{ 586 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); 587 } 588 548 589 /*close css*/ 549 590 .detail-theme { … … 605 646 } 606 647 } 648 649 /* =============================== 650 Demo Import Success Popup 651 ================================ */ 652 653 .modal-overlay { 654 position: fixed; 655 top: 0; 656 left: 0; 657 width: 100%; 658 height: 100%; 659 background: rgba(0, 0, 0, 0.6); 660 display: none; 661 z-index: 99999; 662 display: flex; 663 align-items: center; 664 justify-content: center; 665 } 666 667 .modal-content { 668 background: #ffffff; 669 padding: 35px 30px; 670 border-radius: 10px; 671 max-width: 460px; 672 width: 90%; 673 text-align: center; 674 box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25); 675 animation: popupZoom 0.4s ease; 676 } 677 678 /* Image */ 679 .modal-content img { 680 max-width: 90px; 681 margin-bottom: 15px; 682 } 683 684 /* Heading */ 685 .modal-content h2 { 686 font-size: 22px; 687 line-height: 1.4; 688 margin-bottom: 20px; 689 color: #1d2327; /* WP admin color */ 690 font-weight: 600; 691 } 692 693 /* Buttons */ 694 .modal-buttons { 695 display: flex; 696 justify-content: center; 697 gap: 12px; 698 flex-wrap: wrap; 699 } 700 701 .modal-buttons .button { 702 padding: 10px 20px; 703 font-size: 14px; 704 border-radius: 5px; 705 } 706 707 /* Animation */ 708 @keyframes popupZoom { 709 from { 710 transform: scale(0.8); 711 opacity: 0; 712 } 713 to { 714 transform: scale(1); 715 opacity: 1; 716 } 717 } 718 719 /* Mobile */ 720 @media (max-width: 480px) { 721 .modal-content { 722 padding: 25px 20px; 723 } 724 .modal-content h2 { 725 font-size: 18px; 726 } 727 } 728 729 .theme-animal-pet-store #wpfooter{ 730 position: static !important; 731 margin-left: 0 !important; 732 } -
animal-pet-store/3.7/assets/js/animal-pet-store-admin.js
r286406 r312208 14 14 }( jQuery ) ) 15 15 16 // notice js16 // Get Started Detail Notice - Dismiss permanently 17 17 document.addEventListener("DOMContentLoaded", function() { 18 18 let closeBtn = document.getElementById("close-detail-theme"); … … 20 20 21 21 if (closeBtn && detailBox) { 22 closeBtn.addEventListener("click", function() { 23 detailBox.style.display = "none"; 22 closeBtn.addEventListener("click", function(e) { 23 e.preventDefault(); 24 25 // AJAX call to save dismissal permanently 26 fetch(ajaxurl, { 27 method: 'POST', 28 headers: { 29 'Content-Type': 'application/x-www-form-urlencoded', 30 }, 31 body: 'action=animal_pet_store_dismissed_get_started_detail_notice' 32 }) 33 .then(response => response.json()) 34 .then(data => { 35 // Remove notice from DOM 36 detailBox.remove(); 37 }); 24 38 }); 25 39 } 26 40 }); 41 42 function animal_pet_store_open_tab(evt, tabName) { 43 let i, tabcontent, tablinks; 44 45 // Hide all tabs 46 tabcontent = document.getElementsByClassName("animal-pet-store-tabcontent"); 47 for (i = 0; i < tabcontent.length; i++) { 48 tabcontent[i].style.display = "none"; 49 } 50 51 // Remove active from all buttons 52 tablinks = document.getElementsByClassName("animal-pet-store-tablinks"); 53 for (i = 0; i < tablinks.length; i++) { 54 tablinks[i].classList.remove("nav-tab-active", "active"); 55 } 56 57 // Show selected tab 58 let targetTab = document.getElementById(tabName); 59 if (targetTab) { 60 targetTab.style.display = "block"; 61 } 62 63 // **FIX**: Check if evt.currentTarget exists before using classList 64 if (evt && evt.currentTarget && evt.currentTarget.classList) { 65 evt.currentTarget.classList.add("nav-tab-active", "active"); 66 } 67 } 68 69 // **SAFE** Default activation - NO trigger("click") 70 jQuery(document).ready(function ($) { 71 // Hide all tabs first 72 $(".animal-pet-store-tabcontent").hide(); 73 74 // **DIRECTLY** activate first tab (no trigger) 75 let firstTab = $(".animal-pet-store-tablinks").first(); 76 let firstTabId = firstTab.attr('onclick').match(/'([^']+)'/)[1]; // Extract tab ID 77 78 firstTab.addClass("nav-tab-active active"); 79 $('#' + firstTabId).show(); 80 }); -
animal-pet-store/3.7/functions.php
r306099 r312208 389 389 add_action( 'wp_enqueue_scripts', 'animal_pet_store_scripts' ); 390 390 391 //Admin Enqueue for Admin392 function animal_pet_store_admin_enqueue_scripts(){393 wp_enqueue_style('animal-pet-store-admin-style', get_template_directory_uri() . '/assets/css/admin.css');394 wp_enqueue_script( 'animal-pet-store-custom-scripts', get_template_directory_uri(). '/assets/js/animal-pet-store-custom.js', array('jquery'), true);395 wp_register_script( 'animal-pet-store-admin-script', get_template_directory_uri() . '/assets/js/animal-pet-store-admin.js', array( 'jquery' ), '', true );396 397 wp_localize_script(398 'animal-pet-store-admin-script',399 'animal_pet_store',400 array(401 'admin_ajax' => admin_url('admin-ajax.php'),402 'wpnonce' => wp_create_nonce('animal_pet_store_dismissed_notice_nonce')403 )404 );405 wp_enqueue_script('animal-pet-store-admin-script');406 407 wp_localize_script( 'animal-pet-store-admin-script', 'animal_pet_store_ajax_object',408 array( 'ajax_url' => admin_url( 'admin-ajax.php' ) )409 );410 }411 add_action( 'admin_enqueue_scripts', 'animal_pet_store_admin_enqueue_scripts' );412 413 391 /*radio button sanitization*/ 414 392 function animal_pet_store_sanitize_choices( $input, $setting ) { … … 527 505 add_filter( 'frontpage_template','animal_pet_store_front_page_template' ); 528 506 507 /** 508 * Logo Custamization. 509 */ 510 511 function animal_pet_store_logo_width(){ 512 513 $animal_pet_store_logo_width = get_theme_mod( 'animal_pet_store_logo_width', 150 ); 514 515 echo "<style type='text/css' media='all'>"; ?> 516 img.custom-logo{ 517 width: <?php echo absint( $animal_pet_store_logo_width ); ?>px; 518 max-width: 100%; 519 } 520 <?php echo "</style>"; 521 } 522 523 add_action( 'wp_head', 'animal_pet_store_logo_width' ); 524 525 function animal_pet_store_theme_setup() { 526 527 define('ANIMAL_PET_STORE_CREDIT',__('https://www.themespride.com/products/free-pet-store-wordpress-theme','animal-pet-store') ); 528 if ( ! function_exists( 'animal_pet_store_credit' ) ) { 529 function animal_pet_store_credit(){ 530 echo "<a href=".esc_url(ANIMAL_PET_STORE_CREDIT)." target='_blank'>".esc_html__(get_theme_mod('animal_pet_store_footer_text',__('Animal Pet Store WordPress Theme','animal-pet-store')))."</a>"; 531 } 532 } 533 534 /** 535 * Custom template tags for this theme. 536 */ 537 require get_parent_theme_file_path( '/inc/template-tags.php' ); 538 539 /** 540 * Additional features to allow styling of the templates. 541 */ 542 require get_parent_theme_file_path( '/inc/template-functions.php' ); 543 544 /** 545 * About Theme Page 546 */ 547 require get_parent_theme_file_path( '/inc/about-theme.php' ); 548 /** 549 * Customizer additions. 550 */ 551 require get_parent_theme_file_path( '/inc/customizer.php' ); 552 /** 553 * Load Theme Web File 554 */ 555 require get_parent_theme_file_path('/inc/wptt-webfont-loader.php' ); 556 /** 557 * Load Toggle file 558 */ 559 require get_parent_theme_file_path( '/inc/controls/customize-control-toggle.php' ); 560 561 /** 562 * load sortable file 563 */ 564 require get_parent_theme_file_path( '/inc/controls/sortable-control.php' ); 565 566 /** 567 * TGM Recommendation 568 */ 569 require get_parent_theme_file_path( '/inc/TGM/tgm.php' ); 570 571 } 572 add_action( 'after_setup_theme', 'animal_pet_store_theme_setup' ); 573 574 add_filter( 'woocommerce_prevent_automatic_wizard_redirect', '__return_true' ); 575 576 577 //Admin Enqueue for Admin 578 function animal_pet_store_admin_enqueue_scripts(){ 579 wp_enqueue_style('animal-pet-store-admin-style', get_template_directory_uri() . '/assets/css/admin.css'); 580 wp_register_script( 'animal-pet-store-admin-script', get_template_directory_uri() . '/assets/js/animal-pet-store-admin.js', array( 'jquery' ), '', true ); 581 582 wp_localize_script( 583 'animal-pet-store-admin-script', 584 'animal_pet_store', 585 array( 586 'admin_ajax' => admin_url('admin-ajax.php'), 587 'wpnonce' => wp_create_nonce('animal_pet_store_dismissed_notice_nonce') 588 ) 589 ); 590 wp_enqueue_script('animal-pet-store-admin-script'); 591 592 wp_localize_script( 'animal-pet-store-admin-script', 'animal_pet_store_ajax_object', 593 array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) 594 ); 595 } 596 add_action( 'admin_enqueue_scripts', 'animal_pet_store_admin_enqueue_scripts' ); 597 598 // get started 529 599 add_action( 'wp_ajax_animal_pet_store_dismissed_notice_handler', 'animal_pet_store_ajax_notice_handler' ); 530 600 … … 554 624 ?> 555 625 </h2> 556 <a class="animal-pet-store-btn-get-started button button-primary button-hero animal-pet-store-button-padding" href="<?php echo esc_url( admin_url( 'themes.php?page=animal-pet-store-about' )); ?>" ><?php esc_html_e( 'Get Started with Animal Pet Store ', 'animal-pet-store' ) ?></a>626 <a class="animal-pet-store-btn-get-started button button-primary button-hero animal-pet-store-button-padding" href="<?php echo esc_url( admin_url( 'themes.php?page=animal-pet-store-about' )); ?>" ><?php esc_html_e( 'Get Started with Animal Pet Store Theme', 'animal-pet-store' ) ?></a> 557 627 </div> 558 628 <div class="image-box"> … … 572 642 } 573 643 574 /** 575 * Logo Custamization. 576 */ 577 578 function animal_pet_store_logo_width(){ 579 580 $animal_pet_store_logo_width = get_theme_mod( 'animal_pet_store_logo_width', 150 ); 581 582 echo "<style type='text/css' media='all'>"; ?> 583 img.custom-logo{ 584 width: <?php echo absint( $animal_pet_store_logo_width ); ?>px; 585 max-width: 100%; 586 } 587 <?php echo "</style>"; 588 } 589 590 add_action( 'wp_head', 'animal_pet_store_logo_width' ); 591 592 function animal_pet_store_theme_setup() { 593 594 define('ANIMAL_PET_STORE_CREDIT',__('https://www.themespride.com/products/free-pet-store-wordpress-theme','animal-pet-store') ); 595 if ( ! function_exists( 'animal_pet_store_credit' ) ) { 596 function animal_pet_store_credit(){ 597 echo "<a href=".esc_url(ANIMAL_PET_STORE_CREDIT)." target='_blank'>".esc_html__(get_theme_mod('animal_pet_store_footer_text',__('Animal Pet Store WordPress Theme','animal-pet-store')))."</a>"; 598 } 599 } 600 601 /** 602 * Custom template tags for this theme. 603 */ 604 require get_parent_theme_file_path( '/inc/template-tags.php' ); 605 606 /** 607 * Additional features to allow styling of the templates. 608 */ 609 require get_parent_theme_file_path( '/inc/template-functions.php' ); 610 611 /** 612 * About Theme Page 613 */ 614 require get_parent_theme_file_path( '/inc/about-theme.php' ); 615 /** 616 * Customizer additions. 617 */ 618 require get_parent_theme_file_path( '/inc/customizer.php' ); 619 /** 620 * Load Theme Web File 621 */ 622 require get_parent_theme_file_path('/inc/wptt-webfont-loader.php' ); 623 /** 624 * Load Toggle file 625 */ 626 require get_parent_theme_file_path( '/inc/controls/customize-control-toggle.php' ); 627 628 /** 629 * load sortable file 630 */ 631 require get_parent_theme_file_path( '/inc/controls/sortable-control.php' ); 632 633 /** 634 * TGM Recommendation 635 */ 636 require get_parent_theme_file_path( '/inc/TGM/tgm.php' ); 637 638 } 639 add_action( 'after_setup_theme', 'animal_pet_store_theme_setup' ); 640 641 add_filter( 'woocommerce_prevent_automatic_wizard_redirect', '__return_true' ); 644 // Get Started Detail Notice - Dismiss permanently 645 function animal_pet_store_dismissed_get_started_detail_notice() { 646 update_option( 'dismissed-get_started-detail', true ); 647 wp_send_json_success(); 648 } 649 add_action( 'wp_ajax_animal_pet_store_dismissed_get_started_detail_notice', 'animal_pet_store_dismissed_get_started_detail_notice' ); 650 add_action( 'wp_ajax_nopriv_animal_pet_store_dismissed_get_started_detail_notice', 'animal_pet_store_dismissed_get_started_detail_notice' ); 651 652 // Reset on theme switch 653 add_action('after_switch_theme', 'animal_pet_store_setup_settings'); 654 function animal_pet_store_setup_settings() { 655 update_option('dismissed-get_started', false ); 656 update_option('dismissed-get_started-detail', false ); 657 } 658 659 add_action( 'wp_ajax_animal_pet_store_popup_done', 'animal_pet_store_popup_done' ); 660 function animal_pet_store_popup_done() { 661 update_option( 'animal_pet_store_demo_popup_shown', true ); 662 wp_die(); 663 } -
animal-pet-store/3.7/inc/about-theme.php
r286406 r312208 51 51 ?> 52 52 <div class="wrap about-wrap full-width-layout"> 53 54 53 <!-- top-detail --> 55 <!-- top-detail --> 56 <div class="detail-theme" id="detail-theme-box"> 57 <button class="close-btn" id="close-detail-theme"><?php esc_html_e( 'Dismiss', 'animal-pet-store' ); ?></button> 58 <h2><?php echo esc_html__( 'Hey, Thank you for Installing Animal Pet Store Theme!', 'animal-pet-store' ); ?></h2> 59 60 <a href="<?php echo esc_url( admin_url( 'themes.php?page=animal-pet-store-about' ) ); ?>"> 61 <?php esc_html_e( 'Get Started', 'animal-pet-store' ); ?> 62 </a> 63 <a href="<?php echo esc_url( admin_url( 'customize.php' ) ); ?>" class="site-editor" target="_blank"> 64 <?php esc_html_e( 'Site Editor', 'animal-pet-store' ); ?> 65 </a> 66 67 <a href="<?php echo esc_url( ANIMAL_PET_STORE_PRO_THEME_URL ); ?>" class="pro-btn-theme" target="_blank"> 68 <?php esc_html_e( 'Upgrade to Pro', 'animal-pet-store' ); ?> 69 </a> 70 71 <a href="<?php echo esc_url( ANIMAL_PET_STORE_THEME_BUNDLE ); ?>" class="rate-theme" target="_blank"> 72 <?php esc_html_e( 'Get Bundle', 'animal-pet-store' ); ?> 73 </a> 74 </div> 54 <?php 55 // Only show if NOT dismissed 56 if ( ! get_option('dismissed-get_started-detail', false ) ) { 57 ?> 58 <!-- top-detail --> 59 <div class="detail-theme" id="detail-theme-box"> 60 <button type="button" class="close-btn" id="close-detail-theme"> 61 <?php esc_html_e( 'Dismiss', 'animal-pet-store' ); ?> 62 </button> 63 <h2><?php echo esc_html__( 'Hey, Thank you for Installing Animal Pet Store Theme!', 'animal-pet-store' ); ?></h2> 64 65 <a href="<?php echo esc_url( admin_url( 'themes.php?page=animal-pet-store-about' ) ); ?>"> 66 <?php esc_html_e( 'Get Started', 'animal-pet-store' ); ?> 67 </a> 68 <a href="<?php echo esc_url( admin_url( 'customize.php' ) ); ?>" class="site-editor" target="_blank"> 69 <?php esc_html_e( 'Site Editor', 'animal-pet-store' ); ?> 70 </a> 71 72 <a href="<?php echo esc_url( ANIMAL_PET_STORE_PRO_THEME_URL ); ?>" class="pro-btn-theme" target="_blank"> 73 <?php esc_html_e( 'Upgrade to Pro', 'animal-pet-store' ); ?> 74 </a> 75 76 <a href="<?php echo esc_url( ANIMAL_PET_STORE_THEME_BUNDLE ); ?>" class="rate-theme" target="_blank"> 77 <?php esc_html_e( 'Get Bundle', 'animal-pet-store' ); ?> 78 </a> 79 </div> 80 <?php 81 } ?> 82 83 <nav class="nav-tab-wrapper wp-clearfix animal-pet-store-tab-sec" aria-label="<?php esc_attr_e( 'Secondary menu', 'animal-pet-store' ); ?>"> 84 <button class="nav-tab animal-pet-store-tablinks active" 85 onclick="animal_pet_store_open_tab(event, 'tp_demo_import')"> 86 <?php esc_html_e( 'One Click Demo Import', 'animal-pet-store' ); ?> 87 </button> 88 89 <button class="nav-tab animal-pet-store-tablinks" 90 onclick="animal_pet_store_open_tab(event, 'tp_about_theme')"> 91 <?php esc_html_e( 'About', 'animal-pet-store' ); ?> 92 </button> 93 94 <button class="nav-tab animal-pet-store-tablinks" 95 onclick="animal_pet_store_open_tab(event, 'tp_free_vs_pro')"> 96 <?php esc_html_e( 'Compare Free Vs Pro', 'animal-pet-store' ); ?> 97 </button> 98 99 <button class="nav-tab animal-pet-store-tablinks" 100 onclick="animal_pet_store_open_tab(event, 'tp_changelog')"> 101 <?php esc_html_e( 'Changelog', 'animal-pet-store' ); ?> 102 </button> 103 104 <button class="nav-tab animal-pet-store-tablinks blink wp-bundle" 105 onclick="animal_pet_store_open_tab(event, 'tp_get_bundle')"> 106 <?php esc_html_e( 'Get WordPress Theme Bundle (120+ Themes)', 'animal-pet-store' ); ?> 107 </button> 108 </nav> 109 110 <?php 111 animal_pet_store_demo_import(); 112 113 animal_pet_store_main_screen(); 114 115 animal_pet_store_changelog_screen(); 116 117 animal_pet_store_free_vs_pro(); 118 119 animal_pet_store_get_bundle(); 120 ?> 121 122 <p class="actions"> 123 <a target="_blank"href="<?php echo esc_url( ANIMAL_PET_STORE_FREE_THEME_URL ); ?>" class="theme-info-btn" target="_blank" target="_blank"><?php esc_html_e( 'Theme Info', 'animal-pet-store' ); ?></a> 124 <a target="_blank" href="<?php echo esc_url( ANIMAL_PET_STORE_DEMO_THEME_URL ); ?>" class="view-demo" target="_blank"><?php esc_html_e( 'View Demo', 'animal-pet-store' ); ?></a> 125 <a target="_blank" href="<?php echo esc_url( ANIMAL_PET_STORE_DOCS_THEME_URL ); ?>" class="instruction-theme" target="_blank"><?php esc_html_e( 'Theme Documentation', 'animal-pet-store' ); ?></a> 126 <a target="_blank" href="<?php echo esc_url( ANIMAL_PET_STORE_PRO_THEME_URL ); ?>" class="pro-btn-theme" target="_blank"><?php esc_html_e( 'Upgrade to pro', 'animal-pet-store' ); ?></a> 127 </p> 128 75 129 <h1><?php echo esc_html( $animal_pet_store_theme ); ?></h1> 76 130 <div class="about-theme"> … … 80 134 // Remove last sentence of description. 81 135 $animal_pet_store_description = explode( '. ', $animal_pet_store_theme->get( 'Description' ) ); 82 83 136 array_pop( $animal_pet_store_description ); 84 137 … … 87 140 echo esc_html( $animal_pet_store_description . '.' ); 88 141 ?></p> 89 <p class="actions"> 90 <a target="_blank"href="<?php echo esc_url( ANIMAL_PET_STORE_FREE_THEME_URL ); ?>" class="theme-info-btn" target="_blank" target="_blank"><?php esc_html_e( 'Theme Info', 'animal-pet-store' ); ?></a> 91 92 <a target="_blank" href="<?php echo esc_url( ANIMAL_PET_STORE_DEMO_THEME_URL ); ?>" class="view-demo" target="_blank"><?php esc_html_e( 'View Demo', 'animal-pet-store' ); ?></a> 93 94 <a target="_blank" href="<?php echo esc_url( ANIMAL_PET_STORE_DOCS_THEME_URL ); ?>" class="instruction-theme" target="_blank"><?php esc_html_e( 'Theme Documentation', 'animal-pet-store' ); ?></a> 95 <a target="_blank" href="<?php echo esc_url( ANIMAL_PET_STORE_PRO_THEME_URL ); ?>" class="pro-btn-theme" target="_blank"><?php esc_html_e( 'Upgrade to pro', 'animal-pet-store' ); ?></a> 96 </p> 97 </div> 98 142 143 </div> 99 144 <div class="theme-screenshot"> 100 145 <img src="<?php echo esc_url( $animal_pet_store_theme->get_screenshot() ); ?>" /> 101 146 </div> 102 103 </div> 104 105 <nav class="nav-tab-wrapper wp-clearfix" aria-label="<?php esc_attr_e( 'Secondary menu', 'animal-pet-store' ); ?>"> 106 107 <a href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'animal-pet-store-about' ), 'themes.php' ) ) ); ?>" class="nav-tab<?php echo ( isset( $_GET['page'] ) && 'animal-pet-store-about' === $_GET['page'] && ! isset( $_GET['tab'] ) ) ?' nav-tab-active' : ''; ?>"><?php esc_html_e( 'One Click Demo Import', 'animal-pet-store' ); ?></a> 108 109 <a href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'animal-pet-store-about', 'tab' => 'about_theme' ), 'themes.php' ) ) ); ?>" class="nav-tab<?php echo ( isset( $_GET['tab'] ) && 'about_theme' === $_GET['tab'] ) ?' nav-tab-active' : ''; ?>"><?php esc_html_e( 'About', 'animal-pet-store' ); ?></a> 110 111 <a href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'animal-pet-store-about', 'tab' => 'free_vs_pro' ), 'themes.php' ) ) ); ?>" class="nav-tab<?php echo ( isset( $_GET['tab'] ) && 'free_vs_pro' === $_GET['tab'] ) ?' nav-tab-active' : ''; ?>"><?php esc_html_e( 'Compare free Vs Pro', 'animal-pet-store' ); ?></a> 112 113 <a href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'animal-pet-store-about', 'tab' => 'changelog' ), 'themes.php' ) ) ); ?>" class="nav-tab<?php echo ( isset( $_GET['tab'] ) && 'changelog' === $_GET['tab'] ) ?' nav-tab-active' : ''; ?>"><?php esc_html_e( 'Changelog', 'animal-pet-store' ); ?></a> 114 115 <a href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'animal-pet-store-about', 'tab' => 'get_bundle' ), 'themes.php' ) ) ); ?>" class="blink wp-bundle nav-tab<?php echo ( isset( $_GET['tab'] ) && 'get_bundle' === $_GET['tab'] ) ?' nav-tab-active' : ''; ?>"><?php esc_html_e( 'Get WordPress Theme Bundle (120+ Themes)', 'animal-pet-store' ); ?></a> 116 117 </nav> 118 119 <?php 120 animal_pet_store_demo_import(); 121 122 animal_pet_store_main_screen(); 123 124 animal_pet_store_changelog_screen(); 125 126 animal_pet_store_free_vs_pro(); 127 128 animal_pet_store_get_bundle(); 129 130 ?> 131 </div> 132 147 </div> 133 148 <?php 134 149 } … … 136 151 137 152 /** 138 * Output the Demo Import screen. 139 */ 140 153 * Output the Demo Import screen (JS tab based). 154 */ 141 155 function animal_pet_store_demo_import() { 142 if ( isset( $_GET['page'] ) && 'animal-pet-store-about' === $_GET['page'] && ! isset( $_GET['tab'] ) ) { 143 144 // Path to whizzie.php in child theme 145 $child_whizzie_path = get_stylesheet_directory() . '/inc/whizzie.php'; 146 147 // Path to whizzie.php in parent theme 148 $parent_whizzie_path = get_template_directory() . '/inc/whizzie.php'; 149 150 // Check if the child theme is active and if whizzie.php exists in the child theme 151 if ( file_exists( $child_whizzie_path ) ) { 152 require_once $child_whizzie_path; 153 } else { 154 // Fallback to parent theme if child theme does not have whizzie.php 155 require_once $parent_whizzie_path; 156 } 157 158 if ( isset( $_GET['import-demo'] ) && $_GET['import-demo'] == true ) { ?> 159 <div class="col card success-demo" style="text-align: center;"> 160 <p class="imp-success"><?php echo esc_html__('Imported Successfully', 'animal-pet-store'); ?></p><br> 161 <a class="button" href="<?php echo esc_url(home_url('/')); ?>" target="_blank"> 162 <?php echo esc_html__('View Site', 'animal-pet-store'); ?> 163 </a> 164 </div> 165 166 <!-- Modal Popup --> 167 <div id="demo-success-modal" style="display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 9999;"> 168 <div style="background: #fff; padding:3em; max-width: 500px; margin: 15% auto; text-align: center;"> 169 <img src="<?php echo esc_url(get_template_directory_uri()); ?>/assets/images/demo-icon.png" alt="icon" /> 170 <h2 style="margin-bottom: 3em; margin-top: 15px"> 171 <?php echo esc_html__('Logistic Provider Is Successfully Installed.', 'animal-pet-store'); ?> 172 </h2> 173 <button onclick="document.getElementById('demo-success-modal').style.display='none'"> 174 <a class="view-demo-btn" href="<?php echo esc_url(home_url('/')); ?>" target="_blank"> 175 <?php echo esc_html__('View Site', 'animal-pet-store'); ?> 176 </a> 177 </button> 178 <!-- Get Started button --> 179 <button onclick="document.getElementById('demo-success-modal').style.display='none'"> 180 <a class="view-dashboard" href="<?php echo esc_url( admin_url( 'themes.php?page=animal-pet-store-about' ) ); ?>"> 181 <?php echo esc_html__( 'Return To Dashboard', 'animal-pet-store' ); ?> 182 </a> 183 </button> 184 185 </div> 186 </div> 187 188 <script type="text/javascript"> 189 window.onload = function () { 190 // Show the popup modal after load 191 document.getElementById('demo-success-modal').style.display = 'block'; 192 }; 193 </script> 194 <?php } else { ?> 195 <div class="content-row"> 196 <div class="col card demo-btn text-center"> 197 <form id="demo-importer-form" action="<?php echo esc_url(home_url()); ?>/wp-admin/themes.php" method="POST"> 198 <p class="demo-title"><?php echo esc_html__('Demo Importer', 'animal-pet-store'); ?></p> 199 <p class="demo-des"><?php echo esc_html__('This theme supports importing demo content with a single click. Use the button below to quickly set up your site. You can easily customize or deactivate the imported content later through the Customizer.', 'animal-pet-store'); ?></p> 200 <i class="fas fa-long-arrow-alt-down"></i> 201 202 <button type="submit" class="button with-icon" id="begin-install-btn"> 203 <?php echo esc_html__('Begin Installation - Import Demo', 'animal-pet-store'); ?> 204 </button> 205 206 <!-- Loader area shown in page content --> 207 <div id="page-loader" style="display:none; margin-top: 20px; text-align: center;"> 208 <img src="<?php echo esc_url(get_template_directory_uri()); ?>/assets/images/loader.png" alt="Loading..." width="40" height="40" /> 209 <p style="margin-top:10px;"><?php echo esc_html__('Importing demo, please wait...', 'animal-pet-store'); ?></p> 210 </div> 211 </form> 212 </div> 213 <div class="theme-price col card"> 156 157 // Load whizzie demo importer 158 $animal_pet_store_child_whizzie = get_stylesheet_directory() . '/inc/whizzie.php'; 159 $animal_pet_store_parent_whizzie = get_template_directory() . '/inc/whizzie.php'; 160 161 if ( file_exists( $animal_pet_store_child_whizzie ) ) { 162 require_once $animal_pet_store_child_whizzie; 163 } elseif ( file_exists( $animal_pet_store_parent_whizzie ) ) { 164 require_once $animal_pet_store_parent_whizzie; 165 } 166 167 /* --------------------------------------------------------- 168 * SAVE DEMO IMPORT STATUS 169 * --------------------------------------------------------- */ 170 if ( isset( $_GET['import-demo'] ) && $_GET['import-demo'] === 'true' ) { 171 update_option( 'animal_pet_store_demo_imported', true ); 172 delete_option( 'animal_pet_store_demo_popup_shown' ); // allow popup once 173 } 174 175 /* --------------------------------------------------------- 176 * RESET DEMO (OPTIONAL) 177 * --------------------------------------------------------- */ 178 if ( isset( $_GET['reset-demo'] ) && $_GET['reset-demo'] === 'true' ) { 179 delete_option( 'animal_pet_store_demo_imported' ); 180 delete_option( 'animal_pet_store_demo_popup_shown' ); 181 wp_safe_redirect( remove_query_arg( 'reset-demo' ) ); 182 exit; 183 } 184 185 $animal_pet_store_demo_imported = get_option( 'animal_pet_store_demo_imported', false ); 186 $animal_pet_store_popup_shown = get_option( 'animal_pet_store_demo_popup_shown', false ); 187 $animal_pet_store_show_popup_now = ( $animal_pet_store_demo_imported && ! $animal_pet_store_popup_shown ); 188 ?> 189 190 <div id="tp_demo_import" class="animal-pet-store-tabcontent"> 191 192 <?php if ( $animal_pet_store_demo_imported ) : ?> 193 194 <!-- ================= SUCCESS STATE ================= --> 195 <div class="content-row"> 196 <div class="col card success-demo text-center"> 197 <p class="imp-success"> 198 <?php esc_html_e( 'Demo Imported Successfully!', 'animal-pet-store' ); ?> 199 </p><br> 200 201 <div class="demo-button-three"> 202 <a class="button button-primary" href="<?php echo esc_url( home_url('/') ); ?>" target="_blank"> 203 <?php esc_html_e( 'View Site', 'animal-pet-store' ); ?> 204 </a> 205 206 <a class="button button-primary" href="<?php echo esc_url( admin_url( 'customize.php' ) ); ?>" target="_blank"> 207 <?php esc_html_e( 'Edit Site', 'animal-pet-store' ); ?> 208 </a> 209 210 <?php if ( defined( 'ANIMAL_PET_STORE_DOCS_THEME_URL' ) ) : ?> 211 <a class="button button-primary" href="<?php echo esc_url( ANIMAL_PET_STORE_DOCS_THEME_URL ); ?>" target="_blank"> 212 <?php esc_html_e( 'Documentation', 'animal-pet-store' ); ?> 213 </a> 214 <?php endif; ?> 215 </div> 216 </div> 217 <div class="theme-price col card"> 214 218 <div class="price-flex"> 215 219 <div class="price-content"> … … 218 222 printf( 219 223 /* translators: 1: bold FLASH DEAL text, 2: discount code */ 220 esc_html__( '%1$s - Get 2 5%% Discount on All Themes, Use code %2$s', 'animal-pet-store' ),224 esc_html__( '%1$s - Get 20%% Discount on All Themes, Use code %2$s', 'animal-pet-store' ), 221 225 '<strong class="bold-text">' . esc_html__( 'FLASH DEAL', 'animal-pet-store' ) . '</strong>', 222 '<strong class="bold-text">' . esc_html__( ' FLASH25', 'animal-pet-store' ) . '</strong>'226 '<strong class="bold-text">' . esc_html__( 'QBSALE20', 'animal-pet-store' ) . '</strong>' 223 227 ); 224 228 ?></p> … … 236 240 </div> 237 241 </div> 238 </div> 239 <script type="text/javascript"> 240 jQuery(document).ready(function($) { 241 $('#demo-importer-form').on('submit', function(e) { 242 e.preventDefault(); 243 244 if (confirm("Are you sure you want to proceed with the demo import?")) { 245 $('#page-loader').show(); // Show loader 246 247 // Redirect to same page with import-demo param 248 var url = new URL(window.location.href); 249 url.searchParams.append('import-demo', 'true'); 250 window.location.href = url; 251 } else { 252 return false; 253 } 254 }); 255 }); 256 </script> 257 <?php } 258 } 259 } 242 </div> 243 244 <?php else : ?> 245 246 <!-- ================= INSTALL STATE ================= --> 247 <div class="content-row"> 248 <div class="col card demo-btn text-center"> 249 <form id="demo-importer-form" method="post"> 250 <p class="demo-title"><?php esc_html_e( 'Demo Importer', 'animal-pet-store' ); ?></p> 251 <p class="demo-des"> 252 <?php esc_html_e( 'Import demo content with one click. You can customize everything later.', 'animal-pet-store' ); ?> 253 </p> 254 255 <button type="submit" class="button button-primary"> 256 <?php esc_html_e( 'Begin Installation – Import Demo', 'animal-pet-store' ); ?> 257 </button> 258 259 <div id="page-loader" style="display:none;margin-top:15px;"> 260 <img src="<?php echo esc_url( get_template_directory_uri() . '/assets/images/loader.png' ); ?>" width="40"> 261 <p><?php esc_html_e( 'Importing demo, please wait...', 'animal-pet-store' ); ?></p> 262 </div> 263 </form> 264 </div> 265 <div class="theme-price col card"> 266 <div class="price-flex"> 267 <div class="price-content"> 268 <h3><?php esc_html_e( 'Animal Pet Store WordPress Theme', 'animal-pet-store' ); ?></h3> 269 <p class="main-flash"><?php 270 printf( 271 /* translators: 1: bold FLASH DEAL text, 2: discount code */ 272 esc_html__( '%1$s - Get 20%% Discount on All Themes, Use code %2$s', 'animal-pet-store' ), 273 '<strong class="bold-text">' . esc_html__( 'FLASH DEAL', 'animal-pet-store' ) . '</strong>', 274 '<strong class="bold-text">' . esc_html__( 'QBSALE20', 'animal-pet-store' ) . '</strong>' 275 ); 276 ?></p> 277 <p> 278 <del><?php echo esc_html__( '$59', 'animal-pet-store' ); ?></del> 279 <strong class="bold-price"><?php echo esc_html__( '$39', 'animal-pet-store' ); ?></strong> 280 </p> 281 </div> 282 <div class="price-img"> 283 <img src="<?php echo esc_url(get_template_directory_uri()); ?>/assets/images/theme-img.png" alt="theme-img" /> 284 </div> 285 </div> 286 <div class="main-pro-price"> 287 <a target="_blank" href="<?php echo esc_url( ANIMAL_PET_STORE_PRO_THEME_URL ); ?>" class="pro-btn-theme price-pro" target="_blank"><?php esc_html_e( 'Upgrade To Premium Animal Pet Store WordPress Theme', 'animal-pet-store' ); ?></a> 288 </div> 289 </div> 290 </div> 291 292 <script> 293 jQuery(function($){ 294 $('#demo-importer-form').on('submit', function(e){ 295 e.preventDefault(); 296 if(confirm('<?php esc_html_e( 'Are you sure you want to import demo content?', 'animal-pet-store' ); ?>')){ 297 $('#page-loader').show(); 298 let url = new URL(window.location.href); 299 url.searchParams.set('import-demo','true'); 300 window.location.href = url; 301 } 302 }); 303 }); 304 </script> 305 306 <?php endif; ?> 307 308 </div> 309 310 <?php if ( $animal_pet_store_show_popup_now ) : ?> 311 <!-- ================= SUCCESS POPUP (ONLY ONCE) ================= --> 312 <div id="demo-success-modal" class="modal-overlay"> 313 <div class="modal-content"> 314 <img src="<?php echo esc_url( get_template_directory_uri() . '/assets/images/demo-icon.png' ); ?>" alt=""> 315 <h2><?php esc_html_e( 'Demo Successfully Imported!', 'animal-pet-store' ); ?></h2> 316 317 <div class="modal-buttons"> 318 <a class="button button-primary" href="<?php echo esc_url( home_url('/') ); ?>" target="_blank"> 319 <?php esc_html_e( 'View Site', 'animal-pet-store' ); ?> 320 </a> 321 <a class="button" href="<?php echo esc_url( admin_url( 'themes.php?page=animal-pet-store-about' ) ); ?>"> 322 <?php esc_html_e( 'Go To Dashboard', 'animal-pet-store' ); ?> 323 </a> 324 </div> 325 </div> 326 </div> 327 328 <script> 329 document.addEventListener("DOMContentLoaded", function () { 330 const modal = document.getElementById("demo-success-modal"); 331 if (!modal) return; 332 333 modal.style.display = "flex"; 334 335 // Mark popup as permanently shown (only once) 336 fetch('<?php echo esc_url( admin_url( 'admin-ajax.php?action=animal_pet_store_popup_done' ) ); ?>'); 337 338 // Close popup on ANY button click 339 modal.querySelectorAll('a.button').forEach(function(btn){ 340 btn.addEventListener('click', function(){ 341 modal.style.display = "none"; 342 }); 343 }); 344 }); 345 </script> 346 347 <?php endif; ?> 348 349 <?php 350 } 351 260 352 261 353 /** … … 263 355 */ 264 356 function animal_pet_store_main_screen() { 265 if ( isset( $_GET['tab'] ) && 'about_theme' === $_GET['tab'] ) {357 266 358 ?> 267 <div class="content-row"> 268 <div class="feature-section two-col"> 269 <div class="col card"> 270 <h2 class="title"><?php esc_html_e( 'Theme Customizer', 'animal-pet-store' ); ?></h2> 271 <p><?php esc_html_e( 'All Theme Options are available via Customize screen.', 'animal-pet-store' ) ?></p> 272 <p><a target="_blank" href="<?php echo esc_url( admin_url( 'customize.php' ) ); ?>" class="button button-primary"><?php esc_html_e( 'Customize', 'animal-pet-store' ); ?></a></p> 273 </div> 274 275 <div class="col card"> 276 <h2 class="title"><?php esc_html_e( 'Got theme support question?', 'animal-pet-store' ); ?></h2> 277 <p><?php esc_html_e( 'Get genuine support from genuine people. Whether it\'s customization or compatibility, our seasoned developers deliver tailored solutions to your queries.', 'animal-pet-store' ) ?></p> 278 <p><a target="_blank" href="<?php echo esc_url( ANIMAL_PET_STORE_SUPPORT_THEME_URL ); ?>" class="button button-primary"><?php esc_html_e( 'Support Forum', 'animal-pet-store' ); ?></a></p> 279 </div> 280 </div> 281 <div class="theme-price col card"> 282 <div class="price-flex"> 283 <div class="price-content"> 284 <h3><?php esc_html_e( 'Animal Pet Store WordPress Theme', 'animal-pet-store' ); ?></h3> 285 <p class="main-flash"><?php 286 printf( 287 /* translators: 1: bold FLASH DEAL text, 2: discount code */ 288 esc_html__( '%1$s - Get 25%% Discount on All Themes, Use code %2$s', 'animal-pet-store' ), 289 '<strong class="bold-text">' . esc_html__( 'FLASH DEAL', 'animal-pet-store' ) . '</strong>', 290 '<strong class="bold-text">' . esc_html__( 'FLASH25', 'animal-pet-store' ) . '</strong>' 291 ); 292 ?></p> 293 <p> 294 <del><?php echo esc_html__( '$59', 'animal-pet-store' ); ?></del> 295 <strong class="bold-price"><?php echo esc_html__( '$39', 'animal-pet-store' ); ?></strong> 296 </p> 297 </div> 298 <div class="price-img"> 299 <img src="<?php echo esc_url(get_template_directory_uri()); ?>/assets/images/theme-img.png" alt="theme-img" /> 300 </div> 301 </div> 302 <div class="main-pro-price"> 303 <a target="_blank" href="<?php echo esc_url( ANIMAL_PET_STORE_PRO_THEME_URL ); ?>" class="pro-btn-theme price-pro" target="_blank"><?php esc_html_e( 'Upgrade To Premium Animal Pet Store WordPress Theme', 'animal-pet-store' ); ?></a> 359 <div id="tp_about_theme" class="animal-pet-store-tabcontent"> 360 <div class="content-row"> 361 <div class="feature-section two-col"> 362 <div class="col card"> 363 <h2 class="title"><?php esc_html_e( 'Theme Customizer', 'animal-pet-store' ); ?></h2> 364 <p><?php esc_html_e( 'All Theme Options are available via Customize screen.', 'animal-pet-store' ) ?></p> 365 <p><a target="_blank" href="<?php echo esc_url( admin_url( 'customize.php' ) ); ?>" class="button button-primary"><?php esc_html_e( 'Customize', 'animal-pet-store' ); ?></a></p> 366 </div> 367 368 <div class="col card"> 369 <h2 class="title"><?php esc_html_e( 'Got theme support question?', 'animal-pet-store' ); ?></h2> 370 <p><?php esc_html_e( 'Get genuine support from genuine people. Whether it\'s customization or compatibility, our seasoned developers deliver tailored solutions to your queries.', 'animal-pet-store' ) ?></p> 371 <p><a target="_blank" href="<?php echo esc_url( ANIMAL_PET_STORE_SUPPORT_THEME_URL ); ?>" class="button button-primary"><?php esc_html_e( 'Support Forum', 'animal-pet-store' ); ?></a></p> 372 </div> 373 </div> 374 <div class="theme-price col card"> 375 <div class="price-flex"> 376 <div class="price-content"> 377 <h3><?php esc_html_e( 'Animal Pet Store WordPress Theme', 'animal-pet-store' ); ?></h3> 378 <p class="main-flash"><?php 379 printf( 380 /* translators: 1: bold FLASH DEAL text, 2: discount code */ 381 esc_html__( '%1$s - Get 20%% Discount on All Themes, Use code %2$s', 'animal-pet-store' ), 382 '<strong class="bold-text">' . esc_html__( 'FLASH DEAL', 'animal-pet-store' ) . '</strong>', 383 '<strong class="bold-text">' . esc_html__( 'QBSALE20', 'animal-pet-store' ) . '</strong>' 384 ); 385 ?></p> 386 <p> 387 <del><?php echo esc_html__( '$59', 'animal-pet-store' ); ?></del> 388 <strong class="bold-price"><?php echo esc_html__( '$39', 'animal-pet-store' ); ?></strong> 389 </p> 390 </div> 391 <div class="price-img"> 392 <img src="<?php echo esc_url(get_template_directory_uri()); ?>/assets/images/theme-img.png" alt="theme-img" /> 393 </div> 394 </div> 395 <div class="main-pro-price"> 396 <a target="_blank" href="<?php echo esc_url( ANIMAL_PET_STORE_PRO_THEME_URL ); ?>" class="pro-btn-theme price-pro" target="_blank"><?php esc_html_e( 'Upgrade To Premium Animal Pet Store WordPress Theme', 'animal-pet-store' ); ?></a> 397 </div> 304 398 </div> 305 399 </div> 306 400 </div> 307 401 <?php 308 }309 402 } 310 403 … … 313 406 */ 314 407 function animal_pet_store_changelog_screen() { 315 if ( isset( $_GET['tab'] ) && 'changelog' === $_GET['tab'] ) {316 408 global $wp_filesystem; 317 409 ?> 410 <div id="tp_changelog" class="animal-pet-store-tabcontent"> 318 411 <div class="content-row"> 319 412 <div class="wrap about-wrap change-log"> … … 337 430 printf( 338 431 /* translators: 1: bold FLASH DEAL text, 2: discount code */ 339 esc_html__( '%1$s - Get 2 5%% Discount on All Themes, Use code %2$s', 'animal-pet-store' ),432 esc_html__( '%1$s - Get 20%% Discount on All Themes, Use code %2$s', 'animal-pet-store' ), 340 433 '<strong class="bold-text">' . esc_html__( 'FLASH DEAL', 'animal-pet-store' ) . '</strong>', 341 '<strong class="bold-text">' . esc_html__( ' FLASH25', 'animal-pet-store' ) . '</strong>'434 '<strong class="bold-text">' . esc_html__( 'QBSALE20', 'animal-pet-store' ) . '</strong>' 342 435 ); 343 436 ?></p> … … 356 449 </div> 357 450 </div> 451 </div> 358 452 <?php 359 }360 453 } 361 454 … … 406 499 */ 407 500 function animal_pet_store_free_vs_pro() { 408 if ( isset( $_GET['tab'] ) && 'free_vs_pro' === $_GET['tab'] ) {409 501 ?> 502 <div id="tp_free_vs_pro" class="animal-pet-store-tabcontent"> 410 503 <div class="content-row"> 411 504 <div class="wrap about-wrap change-log"> … … 496 589 printf( 497 590 /* translators: 1: bold FLASH DEAL text, 2: discount code */ 498 esc_html__( '%1$s - Get 2 5%% Discount on All Themes, Use code %2$s', 'animal-pet-store' ),591 esc_html__( '%1$s - Get 20%% Discount on All Themes, Use code %2$s', 'animal-pet-store' ), 499 592 '<strong class="bold-text">' . esc_html__( 'FLASH DEAL', 'animal-pet-store' ) . '</strong>', 500 '<strong class="bold-text">' . esc_html__( ' FLASH25', 'animal-pet-store' ) . '</strong>'593 '<strong class="bold-text">' . esc_html__( 'QBSALE20', 'animal-pet-store' ) . '</strong>' 501 594 ); 502 595 ?></p> … … 515 608 </div> 516 609 </div> 610 </div> 517 611 <?php 518 }519 612 } 520 613 521 614 function animal_pet_store_get_bundle() { 522 if ( isset( $_GET['tab'] ) && 'get_bundle' === $_GET['tab'] ) {523 615 ?> 616 <div id="tp_get_bundle" class="animal-pet-store-tabcontent"> 524 617 <div class="wrap about-wrap theme-main-bundle"> 525 618 <img src="<?php echo esc_url(get_template_directory_uri()); ?>/assets/images/theme-bundle.png" alt="theme-bundle" width="300" height="300" /> 526 619 <p class="bundle-link"><a target="_blank" href="<?php echo esc_url( ANIMAL_PET_STORE_THEME_BUNDLE ); ?>" class="button button-primary bundle-btn"><?php esc_html_e( 'Buy WordPress Theme Bundle (120+ Themes)', 'animal-pet-store' ); ?></a></p> 527 620 </div> 621 </div> 528 622 <?php 529 } 530 } 623 } -
animal-pet-store/3.7/readme.txt
r306099 r312208 5 5 Tested up to: 6.9 6 6 Requires PHP: 5.6 7 Stable tag: 3. 57 Stable tag: 3.7 8 8 License: GPLv2 or later 9 9 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 231 231 * Added setting to change footer widget position. 232 232 233 = 3.6 = 234 * Resolved theme errors. 235 236 = 3.7 = 237 * Updated the Get Started button text. 238 * Resolved an issue where tab loading was taking too much time. 239 * Reorganized section layout by moving content below and placing tabs above. 240 * Added three action buttons after successful demo import. 241 * Fixed issues with the top notice buttons so the notice is permanently dismissed after closing. 242 233 243 == Resources == 234 244 -
animal-pet-store/3.7/style.css
r306099 r312208 5 5 Author URI: https://www.themespride.com/ 6 6 Description: The Animal Pet Store WordPress Theme is an ideal online habitat for pet store owners, veterinarians, dog trainers, cat breeders, animal rescues, pet adoption centers, pet accessory shops, animal nutritionists, and exotic pet dealers. It’s a digital sanctuary designed to enchant pet enthusiasts, with a responsive layout that adapts to the varied screen sizes of desktops, tablets, and smartphones, ensuring a seamless user experience. This theme serves as a vibrant showcase for a wide array of pet supplies, including dog food, cat toys, aquariums, bird cages, and small mammal accessories. It’s also perfect for promoting specialized services like pet grooming, dog walking, pet sitting, Pet care products, Dog grooming, Cat litter, Aquarium maintenance, Bird feed, Small animal habitats, Pet training, Veterinary services, Pet adoption, Pet health supplements, Pet clothing, Dog collars, Cat scratching posts, Pet carriers, Pet nutrition, Pet boarding services, Pet insurance, Exotic pet supplies, Pet daycare, Pet behavior training, animal healthcare, pet boarding, and training sessions. Featuring an intuitive e-commerce setup, it’s a breeze for customers to browse and purchase products. The theme’s seamless integration with WooCommerce allows for easy management of online inventory, sales, and customer interactions. It’s also equipped with a blog section for sharing pet care tips, animal health advice, and the latest trends in pet fashion. With its SEO-friendly structure, the Animal Pet Store Theme ensures that your website ranks well in search engine results, driving more traffic and potential customers to your business. Social media integration allows for effective engagement and marketing across platforms like Facebook, Instagram, Twitter, and YouTube, widening your reach and community. The theme’s customization capabilities are extensive. Tailor it with a variety of color schemes, font styles, and layout options to mirror the unique branding and ethos of your pet business. Include features like pet adoption forms, a photo gallery of pets and products, customer testimonials, a pet care blog, interactive maps for store locations, and an events calendar for community events or pet shows. Moreover, it’s GDPR compliant, ensuring data protection and privacy for your customers. The theme is also translation-ready, making it accessible to a global audience, and includes customer support features like live chat, FAQs, and a contact form for inquiries and support. Overall, the Animal Pet Store Theme is a comprehensive digital solution for the pet industry, blending functionality, style, and user-friendliness to support the growth and success of your pet-related business. 7 Version: 3. 57 Version: 3.7 8 8 Tested up to: 6.9 9 9 Requires PHP: 5.6
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)