Make WordPress Themes

Changeset 357147


Ignore:
Timestamp:
11/04/2026 08:45:27 AM (24 hours ago)
Author:
themedropbox
Message:

New version of VW Shopping Mall - 1.3.3

Location:
vw-shopping-mall/1.3.3
Files:
1 added
9 edited
1 copied

Legend:

Unmodified
Added
Removed
  • vw-shopping-mall/1.3.3/css/admin-style.css

    r355066 r357147  
    446446    gap: 10px;
    447447    line-height: 1.2;
    448     font-size: 22px !important;
     448    font-size: 23px !important;
    449449}
    450450.sshot-section p{
    … …  
    848848    display: flex;
    849849    margin-bottom: 8px;
    850     column-gap: 14px !important;
     850    column-gap: 10px !important;
    851851    flex-wrap: wrap !important;
    852852}
    … …  
    875875}
    876876}
     877/* Crawl Hunt tab */
     878#crawlhunt .crawlhunt-tab{padding:20px}
     879#crawlhunt .crawlhunt-tab ul{list-style:disc;margin:0 0 20px 20px}
     880#crawlhunt .crawlhunt-tab li{margin:0 0 6px;font-size:15px}
     881#crawlhunt .crawlhunt-btns{display:flex;flex-wrap:wrap;gap:10px}
     882#crawlhunt .crawlhunt-btns a,.crawlhunt-cta{display:inline-block;text-decoration:none}
     883#crawlhunt .crawlhunt-btns a{padding:10px 20px;color:#fff;border-radius:3px;font-size:15px}
     884#crawlhunt .crawlhunt-btn--scan{background:#2563eb}
     885#crawlhunt .crawlhunt-btn--scan:hover{background:#1d4ed8;color:#fff}
     886#crawlhunt .crawlhunt-btn--learn{background:#f97316}
     887#crawlhunt .crawlhunt-btn--learn:hover{background:#ea580c;color:#fff}
     888
     889/* Crawl Hunt CTA - distinct colour */
     890#lite_theme .col-left-inner .pro-links a.crawlhunt-cta,.tc-section .info-link a.crawlhunt-cta{background:#2563eb !important;border-color:#2563eb !important;color:#fff !important}
     891#lite_theme .col-left-inner .pro-links a.crawlhunt-cta::before{background:#f97316 !important}
     892#lite_theme .col-left-inner .pro-links a.crawlhunt-cta:hover,#lite_theme .col-left-inner .pro-links a.crawlhunt-cta:focus,.tc-section .info-link a.crawlhunt-cta:hover{background:#f97316 !important;border-color:#f97316 !important;color:#fff !important}
  • vw-shopping-mall/1.3.3/functions.php

    r355066 r357147  
    121121
    122122/* Enqueue admin-notice-script js */
    123 add_action('admin_enqueue_scripts', function ($hook) {
    124     //if ($hook !== 'appearance_page_vw-shopping-mall') return;
     123add_action('admin_enqueue_scripts', function ($vw_shopping_mall_hook) {
    125124
    126125    wp_enqueue_script('admin-notice-script', get_template_directory_uri() . '/inc/core/js/admin-notice-script.js', ['jquery'], null, true);
    127     wp_localize_script('admin-notice-script', 'pluginInstallerData', [
    128         'ajaxurl'     => admin_url('admin-ajax.php'),
    129         'nonce'       => wp_create_nonce('install_plugin_nonce'), // Match this with PHP nonce check
    130         'redirectUrl' => admin_url('admin.php?page=vw-shopping-mall-info'),
    131     ]);
    132126});
    133127
    134128add_action('wp_ajax_check_plugin_activation', function () {
     129    ob_start();
     130
    135131    if (!isset($_POST['plugin']) || empty($_POST['plugin'])) {
     132        ob_end_clean();
    136133        wp_send_json_error(['message' => 'Missing plugin identifier']);
    137134    }
    … …  
    141138    // Map plugin identifiers to their main files
    142139    $vw_shopping_mall_plugin_map = [
    143         'video_popup'          => 'wpzoom-video-popup-block/wpzoom-video-popup-block.php',
    144         'ibtana'               => 'ibtana-visual-editor/plugin.php',
     140        'ibtana'                           => 'ibtana-visual-editor/plugin.php'
    145141    ];
    146142
    … …  
    148144
    149145    if (!isset($vw_shopping_mall_plugin_map[$vw_shopping_mall_requested_plugin])) {
     146        ob_end_clean();
    150147        wp_send_json_error(['message' => 'Invalid plugin']);
    151148    }
    … …  
    154151    $vw_shopping_mall_is_active   = is_plugin_active($vw_shopping_mall_plugin_file);
    155152
     153    ob_end_clean();
    156154    wp_send_json_success(['active' => $vw_shopping_mall_is_active]);
    157155});
     156add_filter( 'woocommerce_enable_setup_wizard', '__return_false' );
     157
    158158
    159159function vw_shopping_mall_dismissed_notice() {
    160         update_option( 'vw_shopping_mall_activation_notice', true );
     160         update_option( 'vw_shopping_mall_admin_notice', true );
    161161    wp_die();
    162162}
    163163add_action( 'wp_ajax_vw_shopping_mall_dismissed_notice', 'vw_shopping_mall_dismissed_notice' );
     164
    164165
    165166/**
  • vw-shopping-mall/1.3.3/inc/core/activation-notice.php

    r352616 r357147  
    11<?php
    2 // Show notice only on Themes page
    3 add_action( 'admin_init', function () {
    4     global $pagenow;
    5 
    6     if ( is_admin() && $pagenow === 'themes.php' ) {
    7         add_action( 'admin_notices', 'vw_shopping_mall_activation_notice' );
    8     }
    9 });
    10 
    11 // Admin Notice Function
    12 function vw_shopping_mall_activation_notice() {
    13   $vw_shopping_mall_meta = get_option( 'vw_shopping_mall_activation_notice' );
     2// Add Getstart admin notice
     3function vw_shopping_mall_admin_notice() {
     4   $vw_shopping_mall_meta = get_option( 'vw_shopping_mall_admin_notice' );
    145
    156       if( !$vw_shopping_mall_meta ){
    … …  
    2112            return;
    2213        } ?>
    23     <div id="vw-shopping-mall-welcome-notice" class="notice notice-success is-dismissible welcome-notice">
    24         <div class="notice-row">
    25             <div class="notice-text">
     14        <div class="notice notice-success is-dismissible welcome-notice">
     15            <div class="notice-row">
     16                <div class="notice-text">
     17                    <p class="welcome-text1"><?php esc_html_e( '🎉 Welcome to VW Themes,', 'vw-shopping-mall' ); ?></p>
     18                    <p class="welcome-text2"><?php esc_html_e( 'You are now using the VW Shopping Mall, a beautifully designed theme to kickstart your website.', 'vw-shopping-mall' ); ?></p>
     19                    <p class="welcome-text3"><?php esc_html_e( 'To help you get started quickly, use the options below:', 'vw-shopping-mall' ); ?></p>
    2620
    27                 <p class="welcome-text1">
    28                     <?php esc_html_e( '🎉 Welcome to VW Themes,', 'vw-shopping-mall' ); ?>
    29                 </p>
     21                    <span class="import-btn">
     22                        <a href="javascript:void(0);" id="install-activate-button" class="button admin-button info-button">
     23                            <?php echo esc_html__( 'GET STARTED', 'vw-shopping-mall' ); ?>
     24                        </a>
    3025
    31                 <p class="welcome-text2">
    32                     <?php esc_html_e(
    33                         'You are now using the VW Shopping Mall, a beautifully designed theme to kickstart your website.',
    34                         'vw-shopping-mall'
    35                     ); ?>
    36                 </p>
     26                        <script type="text/javascript">
     27                            document.getElementById('install-activate-button').addEventListener('click', function () {
    3728
    38                 <p class="welcome-text3">
    39                     <?php esc_html_e(
    40                         'To help you get started quickly, use the options below:',
    41                         'vw-shopping-mall'
    42                     ); ?>
    43                 </p>
     29                                const vw_shopping_mall_button = this;
    4430
    45                 <span class="import-btn">
    46                     <a href="javascript:void(0);" id="install-activate-button" class="button admin-button info-button">
    47                         <?php esc_html_e( 'GET STARTED', 'vw-shopping-mall' ); ?>
    48                     </a>
    49                 </span>
     31                                const vw_shopping_mall_redirectUrl = '<?php echo esc_url( admin_url( "admin.php?page=vw-shopping-mall-info" ) ); ?>';
    5032
    51                 <span class="demo-btn">
    52                     <a href="https://www.vwthemes.net/vw-shopping-mall-pro/"
    53                        class="button button-primary" target="_blank">
    54                         <?php esc_html_e( 'VIEW DEMO', 'vw-shopping-mall' ); ?>
    55                     </a>
    56                 </span>
     33                                // Check if plugin is already active
     34                                jQuery.post(
     35                                    ajaxurl,
     36                                    {
     37                                        action: 'check_plugin_activation'
     38                                    },
     39                                    function (response) {
    5740
    58                 <span class="upgrade-btn">
    59                     <a href="https://www.vwthemes.com/products/shopping-mall-wordpress-theme"
    60                        class="button button-primary" target="_blank">
    61                         <?php esc_html_e( 'UPGRADE TO PRO', 'vw-shopping-mall' ); ?>
    62                     </a>
    63                 </span>
     41                                        // Plugin already active
     42                                        if (response.success && response.data.active) {
    6443
    65                 <span class="bundle-btn">
    66                     <a href="https://www.vwthemes.com/products/wp-theme-bundle"
    67                        class="button button-primary" target="_blank">
    68                         <?php esc_html_e( 'BUNDLE OF 500+ THEMES', 'vw-shopping-mall' ); ?>
    69                     </a>
    70                 </span>
     44                                            window.location.href = vw_shopping_mall_redirectUrl;
    7145
    72             </div>
     46                                        } else {
    7347
    74             <div class="notice-img1">
    75                 <img src="<?php echo esc_url( get_template_directory_uri() . '/images/arrow-notice.png' ); ?>"
    76                      width="180"
    77                      alt="<?php esc_attr_e( 'VW Shopping Mall', 'vw-shopping-mall' ); ?>" />
    78             </div>
     48                                            // Installing & Activating
     49                                            vw_shopping_mall_button.textContent = 'Installing & Activating...';
    7950
    80             <div class="notice-img2">
    81                 <img src="<?php echo esc_url( get_template_directory_uri() . '/images/bundle-notice.png' ); ?>"
    82                      width="180"
    83                      alt="<?php esc_attr_e( 'VW Shopping Mall', 'vw-shopping-mall' ); ?>" />
     51                                            vw_shopping_mall_button.style.pointerEvents = 'none';
     52
     53                                            jQuery.post(
     54                                                ajaxurl,
     55                                                {
     56                                                    action: 'install_and_activate_required_plugin',
     57                                                    nonce: '<?php echo wp_create_nonce( "install_activate_nonce" ); ?>'
     58                                                },
     59                                                function (response) {
     60
     61                                                    if (response.success) {
     62
     63                                                        vw_shopping_mall_button.textContent = 'Activated';
     64
     65                                                        // Redirect after activation
     66                                                        window.location.href = vw_shopping_mall_redirectUrl;
     67
     68                                                    } else {
     69
     70                                                        alert(
     71                                                            response.data?.message ||
     72                                                            'Failed to install or activate the plugin.'
     73                                                        );
     74
     75                                                        vw_shopping_mall_button.textContent = 'Try Again';
     76
     77                                                        vw_shopping_mall_button.style.pointerEvents = 'auto';
     78                                                    }
     79
     80                                                }
     81                                            );
     82
     83                                        }
     84
     85                                    }
     86                                );
     87
     88                            });
     89                        </script>
     90                    </span>
     91
     92                    <span class="demo-btn">
     93                        <a href="https://www.vwthemes.net/vw-shopping-mall-pro/" class="button button-primary" target="_blank">
     94                            <?php esc_html_e( 'VIEW DEMO', 'vw-shopping-mall' ); ?>
     95                        </a>
     96                    </span>
     97
     98                    <span class="upgrade-btn">
     99                        <a href="https://www.vwthemes.com/products/shopping-mall-wordpress-theme" class="button button-primary" target="_blank">
     100                            <?php esc_html_e( 'UPGRADE TO PRO', 'vw-shopping-mall' ); ?>
     101                        </a>
     102                    </span>
     103
     104                    <span class="bundle-btn">
     105                        <a href="https://www.vwthemes.com/products/wp-theme-bundle" class="button button-primary" target="_blank">
     106                            <?php esc_html_e( 'BUNDLE OF 500+ THEMES', 'vw-shopping-mall' ); ?>
     107                        </a>
     108                    </span>
     109                </div>
     110
     111                <div class="notice-img1">
     112                    <img src="<?php echo esc_url( get_template_directory_uri() . '/images/arrow-notice.png' ); ?>" width="180" alt="<?php esc_attr_e( 'VW Shopping Mall', 'vw-shopping-mall' ); ?>" />
     113                </div>
     114
     115                <div class="notice-img2">
     116                    <img src="<?php echo esc_url( get_template_directory_uri() . '/images/bundle-notice.png' ); ?>" width="180" alt="<?php esc_attr_e( 'VW Shopping Mall', 'vw-shopping-mall' ); ?>" />
     117                </div>
    84118            </div>
    85119        </div>
    86     </div>
     120        <?php
    87121
    88     <script type="text/javascript">
    89         jQuery(document).on('click', '#install-activate-button', function () {
    90             const button = jQuery(this);
    91             const redirectUrl = '<?php echo esc_url( admin_url( 'admin.php?page=vw-shopping-mall-info' ) ); ?>';
     122    }?>
     123        <?php
    92124
    93             jQuery.post(ajaxurl, { action: 'check_plugin_activation' }, function (response) {
     125    }
    94126
    95                 if (response.success && response.data.active) {
    96                     window.location.href = redirectUrl;
    97                 } else {
    98                     button.text('Installing & Activating...');
    99 
    100                     jQuery.post(ajaxurl, {
    101                         action: 'install_and_activate_required_plugin',
    102                         nonce: '<?php echo wp_create_nonce( 'install_activate_nonce' ); ?>'
    103                     }, function (response) {
    104 
    105                         if (response.success) {
    106                             window.location.href = redirectUrl;
    107                         } else {
    108                             alert('Failed to activate the plugin.');
    109                             button.text('Try Again');
    110                         }
    111                     });
    112                 }
    113             });
    114         });
    115     </script>
    116     <?php
    117 }
    118 }
    119 
    120 add_action( 'admin_notices', 'vw_shopping_mall_activation_notice' );
     127add_action( 'admin_notices', 'vw_shopping_mall_admin_notice' );
    121128
    122129if( ! function_exists( 'vw_shopping_mall_update_admin_notice' ) ) :
    … …  
    124131 * Updating admin notice on dismiss
    125132*/
    126 
    127 
    128133// Admin Notice Update (PERMANENT DISMISS)
    129134function vw_shopping_mall_update_admin_notice(){
    130     if ( isset( $_GET['vw_shopping_mall_activation_notice'] ) && $_GET['vw_shopping_mall_activation_notice'] == '1' ) {
    131         update_option( 'vw_shopping_mall_activation_notice', true );
     135    if ( isset( $_GET['vw_shopping_mall_admin_notice'] ) && $_GET['vw_shopping_mall_admin_notice'] == '1' ) {
     136        update_option( 'vw_shopping_mall_admin_notice', true );
    132137    }
    133138}
    134139endif;
    135 
    136140add_action( 'admin_init', 'vw_shopping_mall_update_admin_notice' );
    137141
    … …  
    139143add_action('after_switch_theme', 'vw_shopping_mall_getstart_setup_options');
    140144function vw_shopping_mall_getstart_setup_options () {
    141     update_option('vw_shopping_mall_activation_notice', FALSE );
    142  }
     145    update_option('vw_shopping_mall_admin_notice', FALSE );
     146}
  • vw-shopping-mall/1.3.3/inc/core/js/admin-notice-script.js

    r320972 r357147  
    1212    });
    1313});
    14 
    15 
    16 // Plugin – AI Content Writer plugin activation
    17 document.addEventListener('DOMContentLoaded', function () {
    18     const vw_shopping_mall_button = document.getElementById('install-activate-button');
    19 
    20     if (!vw_shopping_mall_button) return;
    21 
    22     vw_shopping_mall_button.addEventListener('click', function (e) {
    23         e.preventDefault();
    24 
    25         const vw_shopping_mall_redirectUrl = vw_shopping_mall_button.getAttribute('data-redirect');
    26 
    27         // Step 1: Check if plugin is already active
    28         const vw_shopping_mall_checkData = new FormData();
    29         vw_shopping_mall_checkData.append('action', 'check_plugin_activation');
    30 
    31         fetch(installPluginData.ajaxurl, {
    32             method: 'POST',
    33             body: vw_shopping_mall_checkData,
    34         })
    35         .then(res => res.json())
    36         .then(res => {
    37             if (res.success && res.data.active) {
    38                 // Plugin is already active → just redirect
    39                 window.location.href = vw_shopping_mall_redirectUrl;
    40             } else {
    41                 // Not active → proceed with install + activate
    42                 vw_shopping_mall_button.textContent = 'Installing & Activating...';
    43 
    44                 const vw_shopping_mall_installData = new FormData();
    45                 vw_shopping_mall_installData.append('action', 'install_and_activate_required_plugin');
    46                 vw_shopping_mall_installData.append('_ajax_nonce', installPluginData.nonce);
    47 
    48                 fetch(installPluginData.ajaxurl, {
    49                     method: 'POST',
    50                     body: vw_shopping_mall_installData,
    51                 })
    52                 .then(res => res.json())
    53                 .then(res => {
    54                     if (res.success) {
    55                         window.location.href = vw_shopping_mall_redirectUrl;
    56                     } else {
    57                         alert('Activation error: ' + (res.data?.message || 'Unknown error'));
    58                         vw_shopping_mall_button.textContent = 'Try Again';
    59                     }
    60                 })
    61                 .catch(error => {
    62                     alert('Request failed: ' + error.message);
    63                     vw_shopping_mall_button.textContent = 'Try Again';
    64                 });
    65             }
    66         })
    67         .catch(error => {
    68             alert('Check request failed: ' + error.message);
    69         });
    70     });
    71 });
  • vw-shopping-mall/1.3.3/inc/core/theme-info.php

    r345796 r357147  
    11<?php
    2 /**
    3  * Add theme page
    4  */
    5 
    6 /* Add to Dashboard main menu */
    7 function vw_shopping_mall_gettingstarted() {
     2//about theme info
     3
     4function vw_shopping_mall_dashboard_menu() {
    85    add_menu_page(
    96        esc_html__( 'VW Shopping Mall', 'vw-shopping-mall' ), // Page title
    … …  
    1613    );
    1714}
    18 add_action( 'admin_menu', 'vw_shopping_mall_gettingstarted' );
    19 
     15add_action( 'admin_menu', 'vw_shopping_mall_dashboard_menu' );
     16
     17// Add a Custom CSS file to WP Admin Area
    2018function vw_shopping_mall_admin_theme_style() {
    2119        wp_enqueue_style('vw-shopping-mall-custom-admin-style', esc_url(get_template_directory_uri()) . '/css/admin-style.css');
    22         wp_enqueue_script('vw-shopping-mall-tabs', esc_url(get_template_directory_uri()) . '/js/tab.js');
    23 
    24         // Admin notice code START
    25         wp_register_script('vw-shopping-mall-notice', esc_url(get_template_directory_uri()) . '/inc/core/js/notice.js', array('jquery'), time(), true);
    26         wp_enqueue_script('vw-shopping-mall-notice');
    27         // Admin notice code END
     20        wp_enqueue_script('vw-shopping-mall-tabs', esc_url(get_template_directory_uri()) . '/inc/core/js/tab.js');
    2821}
    2922add_action('admin_enqueue_scripts', 'vw_shopping_mall_admin_theme_style');
    3023
    31 /**
    32  * Display About page
    33  */
    34 function vw_shopping_mall_theme_page_display() {
    35         $vw_shopping_mall_theme = wp_get_theme();
    36 
    37         if ( is_child_theme() ) {
    38                 $vw_shopping_mall_theme = wp_get_theme()->parent();
    39         } ?>
    40 
     24//guidline for about theme
     25function vw_shopping_mall_theme_page_display() {
     26        //custom function about theme customizer
     27        $vw_shopping_mall_return = add_query_arg( array()) ;
     28        $vw_shopping_mall_theme = wp_get_theme( 'vw-shopping-mall' );
     29?>
     30
     31<?php $vw_shopping_mall_crawlhunt_url = is_plugin_active( 'crawl-hunt-seo-audit-tool/crawl-hunt.php' ) ? admin_url( 'admin.php?page=crawl-hunt' ) : admin_url( 'plugin-install.php?s=crawl+hunt+seo&tab=search&type=term' ); ?>
    4132<div class="wrapper-info">
    4233        <div class="tab-sec">
    … …  
    4738                        <button class="tablinks" onclick="vw_shopping_mall_open_tab(event, 'free_pro')"><?php esc_html_e( 'Free VS Premium', 'vw-shopping-mall' ); ?></button>
    4839                        <button class="tablinks" onclick="vw_shopping_mall_open_tab(event, 'get_bundle')"><?php esc_html_e( 'WP Theme Bundle', 'vw-shopping-mall' ); ?></button>
     40                        <button class="tablinks" onclick="vw_shopping_mall_open_tab(event, 'crawlhunt')"><?php esc_html_e( 'Crawl Hunt', 'vw-shopping-mall' ); ?></button>
    4941                </div>
    5042
    … …  
    6456                                        <div class="pro-links">
    6557                                        <a href="<?php echo esc_url( admin_url() . 'site-editor.php' ); ?>" target="_blank"><?php esc_html_e('Edit Your Site', 'vw-shopping-mall'); ?></a>
     58                                                <?php if ( function_exists( 'is_plugin_active' ) && is_plugin_active( 'crawl-hunt-seo-audit-tool/crawl-hunt.php' ) ) : ?>
     59                                                        <a href="<?php echo esc_url( $vw_shopping_mall_crawlhunt_url ); ?>" class="crawlhunt-cta"><?php esc_html_e( 'Crawl Hunt SEO Scan', 'vw-shopping-mall' ); ?></a>
     60                                                <?php endif; ?>
    6661                                                <a href="<?php echo esc_url( home_url() ); ?>" target="_blank"><?php esc_html_e('Visit Your Site', 'vw-shopping-mall'); ?></a>
    6762                                        </div>
    … …  
    311306                </div>
    312307
     308                <div id="crawlhunt" class="tabcontent">
     309                        <div class="crawlhunt-tab">
     310                                <h3><?php esc_html_e( 'Fix Your Website SEO with the Power of AI', 'vw-shopping-mall' ); ?></h3>
     311                                <hr class="h3hr">
     312                                <p><?php esc_html_e( 'Crawl Hunt scans your website, finds SEO issues and helps you fix them so your site ranks better on Google and AI search.', 'vw-shopping-mall' ); ?></p>
     313                                <ul>
     314                                        <li><?php esc_html_e( 'Auto-fix SEO issues', 'vw-shopping-mall' ); ?></li>
     315                                        <li><?php esc_html_e( 'Optimize for Google & AI Search', 'vw-shopping-mall' ); ?></li>
     316                                        <li><?php esc_html_e( 'Improve rankings & traffic', 'vw-shopping-mall' ); ?></li>
     317                                </ul>
     318                                <div class="crawlhunt-btns">
     319                                        <?php if ( function_exists( 'is_plugin_active' ) && is_plugin_active( 'crawl-hunt-seo-audit-tool/crawl-hunt.php' ) ) : ?>
     320                                                <a href="<?php echo esc_url( $vw_shopping_mall_crawlhunt_url ); ?>" class="crawlhunt-btn--scan"><?php esc_html_e( 'Start Free SEO Scan', 'vw-shopping-mall' ); ?></a>
     321                                        <?php endif; ?>
     322                                        <a href="<?php echo esc_url( 'https://www.crawlhunt.com/' ); ?>" class="crawlhunt-btn--learn" target="_blank" rel="noopener noreferrer"><?php esc_html_e( 'Learn More', 'vw-shopping-mall' ); ?></a>
     323                                </div>
     324                        </div>
     325                </div>
     326
    313327                <div id="get_bundle" class="tabcontent">       
    314328                        <div class="bundle-info">
    … …  
    340354                <div class="sshot-section">
    341355                        <div class="sshot-inner">
    342                                 <h2><?php esc_html_e('Welcome To VW Shopping Mall','vw-shopping-mall'); ?> </h2>
     356                                <h2><?php esc_html_e( 'Welcome To VW Shopping Mall,', 'vw-shopping-mall' ); ?> </h2>
    343357                                <div class="on-pro">
    344358                                        <span class="version"><?php esc_html_e( 'Version', 'vw-shopping-mall' ); ?>: <?php echo esc_html($vw_shopping_mall_theme['Version']);?></span>
    … …  
    350364                                        <a href="<?php echo esc_url( VW_SHOPPING_MALL_LIVE_DEMO ); ?>" target="_blank" class="demo-btn"><?php esc_html_e('Live Demo', 'vw-shopping-mall'); ?></a>
    351365                                                <a href="<?php echo esc_url( VW_SHOPPING_MALL_BUY_NOW ); ?>" target="_blank" class="prem-btn"><?php esc_html_e('Buy Premium', 'vw-shopping-mall'); ?></a>
    352                                                 <a href="<?php echo esc_url( VW_SHOPPING_MALL_PRO_DOC ); ?>" target="_blank" class="doc-btn"><?php esc_html_e('Documentation', 'vw-shopping-mall'); ?></a>
    353                                                
     366                                                <a href="<?php echo esc_url( VW_SHOPPING_MALL_PRO_DOC ); ?>" target="_blank" class="doc-btn"><?php esc_html_e('Documentation', 'vw-shopping-mall'); ?></a>                                             
    354367                                        </div>
    355368                               
    … …  
    382395        </div>
    383396</div>
    384 <?php }?>
     397
     398<?php } ?>
  • vw-shopping-mall/1.3.3/inc/tgm/class-tgm-plugin-activation.php

    r355066 r357147  
    7070                 * @since 2.5.0
    7171                 */
    72                 const WP_REPO_REGEX = '|^http[s]?://WordPress\.org/(?:extend/)?plugins/|';
     72                const WP_REPO_REGEX = '|^http[s]?://wordpress\.org/(?:extend/)?plugins/|';
    7373
    7474                /**
  • vw-shopping-mall/1.3.3/inc/tgm/plugin-activation.php

    r352616 r357147  
    6868            'slug'      => 'ibtana-visual-editor',
    6969            'required'  => false,
     70        ),
     71        array(
     72                'name'             => esc_html__( 'Crawl Hunt – Advanced SEO Optimization Tool', 'vw-shopping-mall' ),
     73                'slug'             => 'crawl-hunt-seo-audit-tool',
     74                'source'           => '',
     75                'required'         => false,
     76                'force_activation' => false,
    7077        )
    7178        );
    … …  
    122129            'file'     => 'ibtana-visual-editor/plugin.php',
    123130            'url'      => 'https://downloads.wordpress.org/plugin/ibtana-visual-editor.latest-stable.zip',
     131        ],
     132        [
     133            'slug'     => 'crawl-hunt-seo-audit-tool',
     134            'file'     => 'crawl-hunt-seo-audit-tool/crawl-hunt.php',
     135            'url'      => 'https://downloads.wordpress.org/plugin/crawl-hunt-seo-audit-tool.latest-stable.zip',
    124136        ]
    125137    ];
    … …  
    148160    }
    149161
     162    // Stay on the current page instead of redirecting to Crawl Hunt
     163    delete_option('crawl_hunt_activation_redirect');
     164
    150165    wp_send_json_success(['message' => 'All plugins installed and activated successfully.']);
    151166}
  • vw-shopping-mall/1.3.3/readme.txt

    r355066 r357147  
    2121
    2222== Changelog ==
     23
     24= 1.3.3 =
     25* Added frontend upsell popup for the Pro theme.
     26* Pro price now fetched dynamically from the store and cached.
    2327
    2428= 1.3.2 =
    … …  
    281285Clients image
    282286License: CC0 1.0 Universal (CC0 1.0)
    283 Stable tag: 1.3.2
     287Stable tag: 1.3.3
    284288Source: https://pxhere.com/en/photo/762412
  • vw-shopping-mall/1.3.3/style.css

    r355066 r357147  
    66Author URI: https://www.vwthemes.com/
    77Description: The VW Shopping Mall theme is a contemporary and feature-rich design suited for constructing a dynamic online store or digital marketplace. It is specifically designed to assist various retail businesses, including shopping centers, supermarkets, department stores, fashion boutiques, electronics shops, lifestyle stores, grocery outlets, furniture retailers, and food product sellers in easily setting up a fully functional ecommerce shop. Whether you aim to launch a virtual storefront for clothing, electronics, home décor, or food items, this theme combines performance, flexibility, and visual allure to attract shoppers. Its intuitive design and responsive layouts ensure seamless navigation on all devices for a smooth shopping experience. With features like a product catalog, ecommerce checkout system, storefront customization, shopping cart, and inventory management, it is perfect for businesses wanting to create a retail eshop or showcase their offerings online. The clean sections and attractive typography help present products beautifully, while additional elements such as storefront templates, multivendor compatibility, mobile optimization, SEO enhancements, and speed improvements maximize visibility. Integration with plugins like WooCommerce, YITH WooCommerce Wishlist, and Contact Form 7 supports product listings, secure transactions, wishlists, and customer interactions. With analytics support, advertising modules, and multiple payment gateways, it serves as a robust ecommerce solution for modern retailers. For more information, you can visit the demo link at https://www.vwthemes.net/vw-shopping-mall-pro/.Demo link - https://www.vwthemes.net/vw-shopping-mall-pro/
    8 Version: 1.3.2
     8Version: 1.3.3
    99Requires at least: 5.9
    1010Tested up to: 7.1
Note: See TracChangeset for help on using the changeset viewer.