Plugin Directory

Changeset 3482857


Ignore:
Timestamp:
03/15/2026 03:25:03 AM (13 days ago)
Author:
wpclever
Message:

Update 3.8.3

Location:
wpc-variations-table
Files:
76 added
11 edited

Legend:

Unmodified
Added
Removed
  • wpc-variations-table/trunk/assets/css/frontend.css

    r3066989 r3482857  
    11/* Hide default variations */
    22body.wpcvt-active .variations_form, .wpcvt-variations + .variations_form, .wpcvt-wrap + .variations_form, .wpcvt-hide-variations-form + .variations_form {
    3     display: none !important;
     3  display: none !important;
    44}
    55
    66.wpcvt-variations {
    7     padding-top: 5px;
    8     padding-bottom: 5px;
    9     max-height: 400px;
    10     overflow-y: auto;
     7  padding-top: 5px;
     8  padding-bottom: 5px;
     9  max-height: 400px;
     10  overflow-y: auto;
    1111}
    12 
    1312.wpcvt-variations .wpcvt-variation {
    14     display: flex;
    15     align-items: center;
    16     justify-content: space-between;
    17     margin-left: -10px;
    18     margin-right: -10px;
     13  display: flex;
     14  align-items: center;
     15  justify-content: space-between;
     16  margin-left: -10px;
     17  margin-right: -10px;
     18  box-sizing: border-box;
     19  width: 100%;
    1920}
    20 
    2121.wpcvt-variations .wpcvt-variation:hover {
    22     background-color: #f9f9f9;
     22  background-color: #f9f9f9;
    2323}
    24 
    2524.wpcvt-variations .wpcvt-variation > div {
    26     padding: 10px;
     25  padding: 10px;
    2726}
    28 
    2927.wpcvt-variations .wpcvt-variation .wpcvt-variation-image {
    30     width: 100px;
    31     flex: 0 0 100px;
    32     position: relative;
     28  width: 100px;
     29  flex: 0 0 100px;
     30  position: relative;
    3331}
    34 
    3532.wpcvt-variations .wpcvt-variation .wpcvt-variation-image img {
    36     width: 100%;
    37     height: auto;
    38     max-width: 100%;
    39     display: block;
     33  width: 100%;
     34  height: auto;
     35  max-width: 100%;
     36  display: block;
    4037}
    41 
    4238.wpcvt-variations .wpcvt-variation .wpcvt-variation-info {
    43     flex-grow: 1;
     39  flex-grow: 1;
    4440}
    45 
    4641.wpcvt-variations .wpcvt-variation .wpcvt-variation-info .wpcvt-variation-name {
    47     font-weight: 700;
     42  font-weight: 700;
    4843}
    49 
    5044.wpcvt-variations .wpcvt-variation .wpcvt-variation-info .wpcvt-variation-name p {
    51     margin-bottom: 0;
    52     font-size: 12px;
     45  margin-bottom: 0;
     46  font-size: 12px;
    5347}
    54 
    5548.wpcvt-variations .wpcvt-variation .wpcvt-variation-info .wpcvt-variation-availability {
    56     display: inline-block;
    57     margin-right: 10px;
    58     font-size: 14px;
     49  display: inline-block;
     50  margin-right: 10px;
     51  font-size: 14px;
    5952}
    60 
    6153.wpcvt-variations .wpcvt-variation .wpcvt-variation-info .wpcvt-variation-availability p {
    62     margin-bottom: 0;
     54  margin-bottom: 0;
    6355}
    64 
    6556.wpcvt-variations .wpcvt-variation .wpcvt-variation-info .wpcvt-variation-price {
    66     display: inline-block;
    67     margin-right: 10px;
    68     font-size: 14px;
     57  display: inline-block;
     58  margin-right: 10px;
     59  font-size: 14px;
    6960}
    70 
    7161.wpcvt-variations .wpcvt-variation .wpcvt-variation-info .wpcvt-variation-description {
    72     font-size: 14px;
     62  font-size: 14px;
    7363}
    74 
    7564.wpcvt-variations .wpcvt-variation .wpcvt-variation-actions form {
    76     margin: 0 !important;
    77     padding: 0 !important;
     65  margin: 0 !important;
     66  padding: 0 !important;
    7867}
    79 
    8068.wpcvt-variations .wpcvt-variation[data-purchasable=no] .wpcvt-quantity {
    81     display: none;
     69  display: none;
    8270}
    83 
    8471.wpcvt-variations .wpcvt-variation[data-images=yes] .wpcvt-variation-image:before {
    85     content: "";
    86     background-image: url("data:image/svg+xml;charset=utf8,%3Csvg fill='%23ffffff' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' id='multiple-image'%3E%3Cpath d='M18,15V5a3,3,0,0,0-3-3H5A3,3,0,0,0,2,5V15a3,3,0,0,0,3,3H15A3,3,0,0,0,18,15ZM4,5A1,1,0,0,1,5,4H15a1,1,0,0,1,1,1V9.36L14.92,8.27a2.56,2.56,0,0,0-1.81-.75h0a2.58,2.58,0,0,0-1.81.75l-.91.91-.81-.81a2.93,2.93,0,0,0-4.11,0L4,9.85Zm.12,10.45A.94.94,0,0,1,4,15V12.67L6.88,9.79a.91.91,0,0,1,1.29,0L9,10.6Zm8.6-5.76a.52.52,0,0,1,.39-.17h0a.52.52,0,0,1,.39.17L16,12.18V15a1,1,0,0,1-1,1H6.4ZM21,6a1,1,0,0,0-1,1V17a3,3,0,0,1-3,3H7a1,1,0,0,0,0,2H17a5,5,0,0,0,5-5V7A1,1,0,0,0,21,6Z'%3E%3C/path%3E%3C/svg%3E");
    87     background-repeat: no-repeat;
    88     background-size: 16px;
    89     background-position: center;
    90     background-color: rgba(0, 0, 0, 0.3);
    91     display: block;
    92     width: 28px;
    93     height: 28px;
    94     border-radius: 4px;
    95     position: absolute;
    96     top: 15px;
    97     left: 15px;
     72  content: "";
     73  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg fill='%23ffffff' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' id='multiple-image'%3E%3Cpath d='M18,15V5a3,3,0,0,0-3-3H5A3,3,0,0,0,2,5V15a3,3,0,0,0,3,3H15A3,3,0,0,0,18,15ZM4,5A1,1,0,0,1,5,4H15a1,1,0,0,1,1,1V9.36L14.92,8.27a2.56,2.56,0,0,0-1.81-.75h0a2.58,2.58,0,0,0-1.81.75l-.91.91-.81-.81a2.93,2.93,0,0,0-4.11,0L4,9.85Zm.12,10.45A.94.94,0,0,1,4,15V12.67L6.88,9.79a.91.91,0,0,1,1.29,0L9,10.6Zm8.6-5.76a.52.52,0,0,1,.39-.17h0a.52.52,0,0,1,.39.17L16,12.18V15a1,1,0,0,1-1,1H6.4ZM21,6a1,1,0,0,0-1,1V17a3,3,0,0,1-3,3H7a1,1,0,0,0,0,2H17a5,5,0,0,0,5-5V7A1,1,0,0,0,21,6Z'%3E%3C/path%3E%3C/svg%3E");
     74  background-repeat: no-repeat;
     75  background-size: 16px;
     76  background-position: center;
     77  background-color: rgba(0, 0, 0, 0.3);
     78  display: block;
     79  width: 28px;
     80  height: 28px;
     81  border-radius: 4px;
     82  position: absolute;
     83  top: 15px;
     84  left: 15px;
    9885}
    99 
    10086.wpcvt-variations .wpcvt-variation[data-atc=no] .wpcvt-variation-actions {
    101     display: none;
     87  display: none;
    10288}
    103 
    10489.wpcvt-variations .wpcvt-variation[data-atc=each] .wpcvt-variation-actions {
    105     width: 200px;
    106     flex: 0 0 200px;
     90  width: 200px;
     91  flex: 0 0 200px;
    10792}
    10893
    10994.wpcvt-wrap .dataTables_length select {
    110     min-width: 70px;
     95  min-width: 70px;
    11196}
    11297
    11398.wpcvt-variations-table tr td {
    114     vertical-align: middle;
    115     border-bottom: 1px dashed #ddd;
     99  vertical-align: middle;
     100  border-bottom: 1px dashed #ddd;
    116101}
    117 
    118102.wpcvt-variations-table .wpcvt-variation:hover td {
    119     background-color: #f9f9f9;
     103  background-color: #f9f9f9;
    120104}
    121 
    122105.wpcvt-variations-table .wpcvt-variation .wpcvt-variation-image {
    123     width: 90px;
     106  width: 90px;
    124107}
    125 
    126108.wpcvt-variations-table .wpcvt-variation .wpcvt-variation-image img {
    127     width: 100%;
    128     height: auto;
     109  width: 100%;
     110  height: auto;
    129111}
    130112
    131113.wpcvt-actions {
    132     margin-top: 10px;
     114  margin-top: 10px;
    133115}
    134 
    135116.wpcvt-actions button {
    136     margin: 0 !important;
     117  margin: 0 !important;
    137118}
    138119
    139120@media only screen and (max-width: 767px) {
    140     .wpcvt-variations .wpcvt-variation {
    141         flex-direction: column;
    142         text-align: center;
    143     }
     121  .wpcvt-variations .wpcvt-variation {
     122    flex-direction: column;
     123    text-align: center;
     124  }
    144125}
    145126
  • wpc-variations-table/trunk/assets/css/frontend.css.map

    r3066989 r3482857  
    1 {"version":3,"sourceRoot":"","sources":["frontend.scss"],"names":[],"mappings":"AAAA;AACA;EACE;;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAIJ;EACE;;AAEA;EACE;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;;AAIJ;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;;AAOF;EACE;;;AAOF;EACE;EACA;;AAMA;EACE;;AAIJ;EACE;;AAEA;EACE;EACA;;;AAMR;EACE;;AAEA;EACE;;;AAIJ;EACE;IACE;IACA","file":"frontend.css"}
     1{"version":3,"sourceRoot":"","sources":["frontend.scss"],"names":[],"mappings":"AAAA;AACA;EACE;;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAIJ;EACE;;AAEA;EACE;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;;AAIJ;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;;AAOF;EACE;;;AAOF;EACE;EACA;;AAMA;EACE;;AAIJ;EACE;;AAEA;EACE;EACA;;;AAMR;EACE;;AAEA;EACE;;;AAIJ;EACE;IACE;IACA","file":"frontend.css"}
  • wpc-variations-table/trunk/assets/css/frontend.scss

    r3066989 r3482857  
    1616    margin-left: -10px;
    1717    margin-right: -10px;
     18    box-sizing: border-box;
     19    width: 100%;
    1820
    1921    &:hover {
  • wpc-variations-table/trunk/assets/js/frontend.js

    r3188190 r3482857  
    11'use strict';
    22
    3 (function($) {
    4   if (typeof wc_add_to_cart_params === 'undefined') {
    5     var wc_add_to_cart_params = wpcvt_vars;
    6   }
    7 
    8   $(function() {
    9     if (!$('.wpcvt-wrap').length) {
    10       return;
     3(function ($) {
     4    if (typeof wc_add_to_cart_params === 'undefined') {
     5        var wc_add_to_cart_params = wpcvt_vars;
    116    }
    127
    13     $('.wpcvt-wrap').each(function() {
    14       wpcvt_init($(this));
    15     });
    16   });
     8    $(function () {
     9        if (!$('.wpcvt-wrap').length) {
     10            return;
     11        }
    1712
    18   $(document).on('change keyup mouseup', '.wpcvt-qty', function() {
    19     let $wrap = $(this).closest('.wpcvt-wrap');
    20 
    21     wpcvt_init($wrap);
    22   });
    23 
    24   $(document).on('click touch', '.wpcvt_atc_btn', function() {
    25     let $btn = $(this);
    26     let $wrap = $btn.closest('.wpcvt-wrap');
    27     let data = {};
    28     let variations = [];
    29 
    30     $(document.body).
    31         trigger('wpcvt_adding_to_cart', [$btn]);
    32     $(document.body).trigger('adding_to_cart', [$btn]);
    33 
    34     $wrap.find('.wpcvt-variation[data-purchasable="yes"]').each(function() {
    35       let variation = {};
    36       let id = parseInt($(this).data('id'));
    37       let pid = parseInt($(this).data('pid'));
    38       let qty = parseFloat($(this).find('.wpcvt-qty').val());
    39 
    40       if (id > 0 && pid > 0 && qty > 0) {
    41         variation.id = id;
    42         variation.pid = pid;
    43         variation.qty = qty;
    44         variation.attrs = $(this).data('attrs');
    45 
    46         variations.push(variation);
    47       }
     13        $('.wpcvt-wrap').each(function () {
     14            wpcvt_init($(this));
     15        });
    4816    });
    4917
    50     if (variations.length) {
    51       data.action = 'wpcvt_add_to_cart';
    52       data.variations = variations;
    53       data.nonce = wpcvt_vars.nonce;
     18    $(document).on('change keyup mouseup', '.wpcvt-qty', function () {
     19        let $wrap = $(this).closest('.wpcvt-wrap');
    5420
    55       $btn.removeClass('added').addClass('loading');
     21        wpcvt_init($wrap);
     22    });
    5623
    57       $.post(wpcvt_vars.wc_ajax_url.toString().
    58               replace('%%endpoint%%', 'wpcvt_add_to_cart'), data,
    59           function(response) {
    60             if (!response) {
    61               return;
     24    $(document).on('click touch', '.wpcvt_atc_btn', function () {
     25        let $btn = $(this);
     26        let $wrap = $btn.closest('.wpcvt-wrap');
     27        let data = {};
     28        let variations = [];
     29
     30        $(document.body).trigger('wpcvt_adding_to_cart', [$btn]);
     31        $(document.body).trigger('adding_to_cart', [$btn]);
     32
     33        $wrap.find('.wpcvt-variation[data-purchasable="yes"]').each(function () {
     34            let variation = {};
     35            let id = parseInt($(this).data('id'));
     36            let pid = parseInt($(this).data('pid'));
     37            let qty = parseFloat($(this).find('.wpcvt-qty').val());
     38
     39            if (id > 0 && pid > 0 && qty > 0) {
     40                variation.id = id;
     41                variation.pid = pid;
     42                variation.qty = qty;
     43                variation.attrs = $(this).data('attrs');
     44
     45                variations.push(variation);
     46            }
     47        });
     48
     49        if (variations.length) {
     50            data.action = 'wpcvt_add_to_cart';
     51            data.variations = variations;
     52            data.nonce = wpcvt_vars.nonce;
     53
     54            if ($wrap.find('input[name="woobt_ids"]').length) {
     55                data.woobt_ids = $wrap.find('input[name="woobt_ids"]').val();
    6256            }
    6357
    64             if (response.error && response.product_url) {
    65               window.location = response.product_url;
    66               return;
     58            $btn.removeClass('added').addClass('loading');
     59
     60            $.post(wpcvt_vars.wc_ajax_url.toString().replace('%%endpoint%%', 'wpcvt_add_to_cart'), data, function (response) {
     61                if (!response) {
     62                    return;
     63                }
     64
     65                if (response.error && response.product_url) {
     66                    window.location = response.product_url;
     67                    return;
     68                }
     69
     70                // Redirect to cart option
     71                if (wc_add_to_cart_params.cart_redirect_after_add === 'yes') {
     72                    window.location = wc_add_to_cart_params.cart_url;
     73                    return;
     74                }
     75
     76                $btn.removeClass('loading');
     77
     78                // Trigger event so themes can refresh other areas.
     79                $(document.body).trigger('added_to_cart', [response.fragments, response.cart_hash, $btn]);
     80                $(document.body).trigger('wpcvt_added_to_cart', [response.fragments, response.cart_hash, $btn]);
     81            });
     82        }
     83    });
     84
     85    function wpcvt_init($wrap) {
     86        if ($wrap.find('.wpcvt-variations-table:not(.wpcvt-variations-table-initialized)').length) {
     87            $wrap.find('.wpcvt-variations-table:not(.wpcvt-variations-table-initialized)').addClass('wpcvt-variations-table-initialized').DataTable(JSON.parse(wpcvt_vars.datatable_params));
     88        }
     89
     90        if ($wrap.find('.wpcvt-actions').length) {
     91            // save qty
     92            let qty = 0;
     93
     94            $wrap.find('.wpcvt-variation[data-purchasable="yes"]').each(function () {
     95                qty += parseFloat($(this).find('.wpcvt-qty').val());
     96            });
     97
     98            $wrap.find('.wpcvt_atc_count').html(qty);
     99
     100            if (qty > 0) {
     101                $wrap.find('.wpcvt_atc_btn').removeClass('disabled wpcvt_atc_btn_disabled');
     102            } else {
     103                $wrap.find('.wpcvt_atc_btn').addClass('disabled wpcvt_atc_btn_disabled');
    67104            }
     105        }
    68106
    69             // Redirect to cart option
    70             if (wc_add_to_cart_params.cart_redirect_after_add === 'yes') {
    71               window.location = wc_add_to_cart_params.cart_url;
    72               return;
    73             }
    74 
    75             $btn.removeClass('loading');
    76 
    77             // Trigger event so themes can refresh other areas.
    78             $(document.body).
    79                 trigger('added_to_cart', [
    80                   response.fragments, response.cart_hash, $btn]);
    81             $(document.body).
    82                 trigger('wpcvt_added_to_cart', [
    83                   response.fragments, response.cart_hash, $btn]);
    84           });
     107        jQuery(document).trigger('wpcvt_init', [$wrap]);
    85108    }
    86   });
    87 
    88   function wpcvt_init($wrap) {
    89     if ($wrap.find(
    90         '.wpcvt-variations-table:not(.wpcvt-variations-table-initialized)').length) {
    91       $wrap.find(
    92           '.wpcvt-variations-table:not(.wpcvt-variations-table-initialized)').
    93           addClass('wpcvt-variations-table-initialized').
    94           DataTable(JSON.parse(wpcvt_vars.datatable_params));
    95     }
    96 
    97     if ($wrap.find('.wpcvt-actions').length) {
    98       // save qty
    99       let qty = 0;
    100 
    101       $wrap.find('.wpcvt-variation[data-purchasable="yes"]').each(function() {
    102         qty += parseFloat($(this).find('.wpcvt-qty').val());
    103       });
    104 
    105       $wrap.find('.wpcvt_atc_count').html(qty);
    106 
    107       if (qty > 0) {
    108         $wrap.find('.wpcvt_atc_btn').
    109             removeClass('disabled wpcvt_atc_btn_disabled');
    110       } else {
    111         $wrap.find('.wpcvt_atc_btn').
    112             addClass('disabled wpcvt_atc_btn_disabled');
    113       }
    114     }
    115 
    116     jQuery(document).trigger('wpcvt_init', [$wrap]);
    117   }
    118109})(jQuery);
  • wpc-variations-table/trunk/includes/dashboard/css/dashboard.css

    r3398623 r3482857  
    287287}
    288288
     289.wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpclever_submit {
     290  display: flex;
     291  align-items: center;
     292}
     293
     294.wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpc-last-saved {
     295  font-weight: 400;
     296  font-size: 12px;
     297  color: #999;
     298  margin-left: 10px;
     299  display: flex;
     300  align-items: center;
     301}
     302
     303.wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpc-last-saved .dashicons {
     304  font-size: 15px;
     305  width: 15px;
     306  height: 15px;
     307  margin-right: 5px;
     308  color: #22c55e;
     309}
     310
    289311.wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpclever_export {
    290312  position: absolute;
     
    293315  transform: translateY(-50%);
    294316  font-weight: 400;
     317}
     318
     319#wpclever_export .wpclever_export_data {
     320  width: 100%;
     321  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
     322  font-size: 12.5px;
     323  line-height: 20px;
     324  padding: 0 12px;
     325  background-image: repeating-linear-gradient(to bottom, #ffffff 0px, #ffffff 20px, #fafafa 20px, #fafafa 40px);
     326  background-attachment: local;
     327  resize: vertical;
     328  box-sizing: border-box;
     329  outline: none;
    295330}
    296331
     
    462497  border-left: none;
    463498  border-right: 4px solid #23282d;
     499}
     500
     501body.rtl .wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpclever_export {
     502  left: 20px;
     503  right: auto;
    464504}
    465505
  • wpc-variations-table/trunk/includes/dashboard/css/dashboard.css.map

    r3398623 r3482857  
    1 {"version":3,"sourceRoot":"","sources":["dashboard.scss"],"names":[],"mappings":";AAAA;EACE;IACE;;;AAIJ;EACE;IACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAEA;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AAEA;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;AAEA;EACE;IACE;IACA;IACA;IACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;IACE;;;AAIJ;EACE;IACE;;;AAIJ;EACE;IACE;;;AAIJ;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AAEA;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;AAEA;EACE;;;AAGF;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA","file":"dashboard.css"}
     1{"version":3,"sourceRoot":"","sources":["dashboard.scss"],"names":[],"mappings":";AAAA;EACE;IACE;;;AAIJ;EACE;IACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAEA;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AAEA;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;AAEA;EACE;IACE;IACA;IACA;IACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EAOA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;IACE;;;AAIJ;EACE;IACE;;;AAIJ;EACE;IACE;;;AAIJ;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AAEA;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;AAEA;EACE;;;AAGF;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA","file":"dashboard.css"}
  • wpc-variations-table/trunk/includes/dashboard/css/dashboard.scss

    r3398623 r3482857  
    299299}
    300300
     301.wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpclever_submit {
     302  display: flex;
     303  align-items: center;
     304}
     305
     306.wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpc-last-saved {
     307  font-weight: 400;
     308  font-size: 12px;
     309  color: #999;
     310  margin-left: 10px;
     311  display: flex;
     312  align-items: center;
     313}
     314
     315.wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpc-last-saved .dashicons {
     316  font-size: 15px;
     317  width: 15px;
     318  height: 15px;
     319  margin-right: 5px;
     320  color: #22c55e;
     321}
     322
    301323.wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpclever_export {
    302324  position: absolute;
     
    305327  transform: translateY(-50%);
    306328  font-weight: 400;
     329}
     330
     331#wpclever_export .wpclever_export_data {
     332  width: 100%;
     333  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
     334  font-size: 12.5px;
     335  line-height: 20px;
     336  padding: 0 12px;
     337  background-image: repeating-linear-gradient(
     338                  to bottom,
     339                  #ffffff 0px,
     340                  #ffffff 20px,
     341                  #fafafa 20px,
     342                  #fafafa 40px
     343  );
     344  background-attachment: local;
     345  resize: vertical;
     346  box-sizing: border-box;
     347  outline: none;
    307348}
    308349
     
    478519  border-left: none;
    479520  border-right: 4px solid #23282d;
     521}
     522
     523body.rtl .wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpclever_export {
     524  left: 20px;
     525  right: auto;
    480526}
    481527
  • wpc-variations-table/trunk/includes/dashboard/wpc-dashboard.php

    r3398623 r3482857  
    11<?php
    22defined( 'ABSPATH' ) || exit;
    3 
    4 if ( ! class_exists( 'WPCleverMenu' ) ) {
    5     class WPCleverMenu {
    6         function __construct() {
    7             // do nothing, moved to WPCleverDashboard
    8         }
    9     }
    10 
    11     new WPCleverMenu();
    12 }
    133
    144if ( ! class_exists( 'WPCleverDashboard' ) ) {
     
    232222
    233223            if ( ! empty( $key ) && ( $settings = get_option( $key ) ) ) {
     224                unset( $settings['_last_saved'] );
     225                unset( $settings['_last_saved_by'] );
     226
    234227                echo '<textarea class="wpclever_export_data" id="wpclever_export_data" style="width: 100%; height: 200px; margin-bottom: 10px;" data-key="' . esc_attr( $key ) . '">' . esc_textarea( wp_json_encode( $settings, JSON_PRETTY_PRINT ) ) . '</textarea>';
    235228                echo '<div style="display: flex; align-items: center"><button class="button button-primary wpclever_import" data-key="' . esc_attr( $key ) . '">Update</button>';
     
    265258    new WPCleverDashboard();
    266259}
     260
     261if ( ! function_exists( 'wpc_last_saved' ) ) {
     262    function wpc_last_saved( $settings ) {
     263        $last_saved = isset( $settings['_last_saved'] ) ? (int) $settings['_last_saved'] : 0;
     264
     265        if ( $last_saved ) {
     266            $time_diff = human_time_diff( $last_saved, current_time( 'timestamp' ) );
     267            $time_full = date_i18n( get_option( 'date_format' ) . ' ' . get_option( 'time_format' ), $last_saved );
     268
     269            // Who saved it
     270            $saved_by_id   = isset( $settings['_last_saved_by'] ) ? (int) $settings['_last_saved_by'] : 0;
     271            $saved_by_name = '';
     272
     273            if ( $saved_by_id ) {
     274                $user = get_userdata( $saved_by_id );
     275
     276                if ( $user ) {
     277                    $saved_by_name = $user->display_name;
     278                }
     279            }
     280
     281            $by_text = $saved_by_name ? ' ' . sprintf( 'by %s', esc_html( $saved_by_name ) ) : '';
     282
     283            echo '<span class="wpc-last-saved" title="' . esc_attr( $time_full ) . '"><span class="dashicons dashicons-saved"></span> '
     284                 . sprintf(
     285                         'Saved %1$s ago',
     286                         esc_html( $time_diff )
     287                 )
     288                 . $by_text
     289                 . '</span>';
     290        }
     291    }
     292}
  • wpc-variations-table/trunk/languages/wpc-variations-table.pot

    r3398623 r3482857  
    1 # Copyright (C) 2025 WPClever
     1# Copyright (C) 2026 WPClever
    22# This file is distributed under the GPLv2 or later.
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: WPC Variations Table for WooCommerce 3.8.2\n"
     5"Project-Id-Version: WPC Variations Table for WooCommerce 3.8.3\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wpc-variations-table\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2025-11-19T08:16:42+00:00\n"
     12"POT-Creation-Date: 2026-03-15T03:22:34+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.12.0\n"
     
    4040msgstr ""
    4141
    42 #: wpc-variations-table.php:147
     42#: wpc-variations-table.php:149
    4343msgid "No data available in table"
    4444msgstr ""
    4545
    46 #: wpc-variations-table.php:148
     46#: wpc-variations-table.php:150
    4747msgid "Showing _START_ to _END_ of _TOTAL_ entries"
    4848msgstr ""
    4949
    50 #: wpc-variations-table.php:149
     50#: wpc-variations-table.php:151
    5151msgid "Showing 0 to 0 of 0 entries"
    5252msgstr ""
    5353
    54 #: wpc-variations-table.php:150
     54#: wpc-variations-table.php:152
    5555msgid "(filtered from _MAX_ total entries)"
    5656msgstr ""
    5757
    58 #: wpc-variations-table.php:152
     58#: wpc-variations-table.php:154
    5959msgid ","
    6060msgstr ""
    6161
    62 #: wpc-variations-table.php:153
     62#: wpc-variations-table.php:155
    6363msgid "Show _MENU_ entries"
    6464msgstr ""
    6565
    66 #: wpc-variations-table.php:154
     66#: wpc-variations-table.php:156
    6767msgid "Loading..."
    6868msgstr ""
    6969
    70 #: wpc-variations-table.php:155
     70#: wpc-variations-table.php:157
    7171msgid "Processing..."
    7272msgstr ""
    7373
    74 #: wpc-variations-table.php:156
     74#: wpc-variations-table.php:158
    7575msgid "Search:"
    7676msgstr ""
    7777
    78 #: wpc-variations-table.php:157
     78#: wpc-variations-table.php:159
    7979msgid "No matching records found"
    8080msgstr ""
    8181
    82 #: wpc-variations-table.php:159
     82#: wpc-variations-table.php:161
    8383msgid "First"
    8484msgstr ""
    8585
    86 #: wpc-variations-table.php:160
     86#: wpc-variations-table.php:162
    8787msgid "Last"
    8888msgstr ""
    8989
    90 #: wpc-variations-table.php:161
     90#: wpc-variations-table.php:163
    9191msgid "Next"
    9292msgstr ""
    9393
    94 #: wpc-variations-table.php:162
     94#: wpc-variations-table.php:164
    9595msgid "Previous"
    9696msgstr ""
    9797
    98 #: wpc-variations-table.php:165
     98#: wpc-variations-table.php:167
    9999msgid ": activate to sort column ascending"
    100100msgstr ""
    101101
    102 #: wpc-variations-table.php:166
     102#: wpc-variations-table.php:168
    103103msgid ": activate to sort column descending"
    104104msgstr ""
    105105
    106 #: wpc-variations-table.php:230
    107 #: wpc-variations-table.php:245
    108 #: wpc-variations-table.php:1011
     106#: wpc-variations-table.php:241
     107#: wpc-variations-table.php:256
     108#: wpc-variations-table.php:1031
    109109msgid "WPC Variations Table"
    110110msgstr ""
    111111
    112 #: wpc-variations-table.php:230
    113 #: wpc-variations-table.php:930
     112#: wpc-variations-table.php:241
     113#: wpc-variations-table.php:950
    114114msgid "Variations Table"
    115115msgstr ""
    116116
    117 #: wpc-variations-table.php:245
     117#: wpc-variations-table.php:256
    118118msgid "Premium"
    119119msgstr ""
    120120
    121121#. translators: stars
    122 #: wpc-variations-table.php:248
     122#: wpc-variations-table.php:259
    123123#, php-format
    124124msgid "Thank you for using our plugin! If you are satisfied, please reward it a full five-star %s rating."
    125125msgstr ""
    126126
    127 #: wpc-variations-table.php:251
     127#: wpc-variations-table.php:262
    128128msgid "Reviews"
    129129msgstr ""
    130130
    131 #: wpc-variations-table.php:254
     131#: wpc-variations-table.php:265
    132132msgid "Changelog"
    133133msgstr ""
    134134
    135 #: wpc-variations-table.php:257
     135#: wpc-variations-table.php:268
    136136msgid "Discussion"
    137137msgstr ""
    138138
    139 #: wpc-variations-table.php:265
     139#: wpc-variations-table.php:276
    140140msgid "Settings updated."
    141141msgstr ""
    142142
    143 #: wpc-variations-table.php:272
    144 #: wpc-variations-table.php:869
     143#: wpc-variations-table.php:283
     144#: wpc-variations-table.php:889
    145145msgid "Settings"
    146146msgstr ""
    147147
    148 #: wpc-variations-table.php:276
     148#: wpc-variations-table.php:287
    149149msgid "Localization"
    150150msgstr ""
    151151
    152 #: wpc-variations-table.php:281
    153 #: wpc-variations-table.php:870
     152#: wpc-variations-table.php:292
     153#: wpc-variations-table.php:890
    154154msgid "Premium Version"
    155155msgstr ""
    156156
    157 #: wpc-variations-table.php:285
     157#: wpc-variations-table.php:296
    158158msgid "Essential Kit"
    159159msgstr ""
    160160
    161 #: wpc-variations-table.php:312
    162 #: wpc-variations-table.php:964
     161#: wpc-variations-table.php:323
     162#: wpc-variations-table.php:984
    163163msgid "Active"
    164164msgstr ""
    165165
    166 #: wpc-variations-table.php:316
    167 #: wpc-variations-table.php:357
    168 #: wpc-variations-table.php:397
     166#: wpc-variations-table.php:327
     167#: wpc-variations-table.php:368
    169168#: wpc-variations-table.php:408
    170 #: wpc-variations-table.php:426
     169#: wpc-variations-table.php:419
    171170#: wpc-variations-table.php:437
    172171#: wpc-variations-table.php:448
    173172#: wpc-variations-table.php:459
    174173#: wpc-variations-table.php:470
    175 #: wpc-variations-table.php:976
     174#: wpc-variations-table.php:481
     175#: wpc-variations-table.php:996
    176176msgid "No"
    177177msgstr ""
    178178
    179 #: wpc-variations-table.php:317
    180 #: wpc-variations-table.php:358
    181 #: wpc-variations-table.php:398
    182 #: wpc-variations-table.php:407
    183 #: wpc-variations-table.php:436
     179#: wpc-variations-table.php:328
     180#: wpc-variations-table.php:369
     181#: wpc-variations-table.php:409
     182#: wpc-variations-table.php:418
    184183#: wpc-variations-table.php:447
    185184#: wpc-variations-table.php:458
    186185#: wpc-variations-table.php:469
     186#: wpc-variations-table.php:480
    187187msgid "Yes"
    188188msgstr ""
    189189
    190 #: wpc-variations-table.php:319
     190#: wpc-variations-table.php:330
    191191msgid "This is the default status, you can set status for individual product in the its settings."
    192192msgstr ""
    193193
    194 #: wpc-variations-table.php:324
     194#: wpc-variations-table.php:335
    195195msgid "Position"
    196196msgstr ""
    197197
    198 #: wpc-variations-table.php:328
     198#: wpc-variations-table.php:339
    199199msgid "Replace the add to cart form"
    200200msgstr ""
    201201
    202 #: wpc-variations-table.php:329
     202#: wpc-variations-table.php:340
    203203msgid "Under the title"
    204204msgstr ""
    205205
    206 #: wpc-variations-table.php:330
     206#: wpc-variations-table.php:341
    207207msgid "Under the price"
    208208msgstr ""
    209209
    210 #: wpc-variations-table.php:331
     210#: wpc-variations-table.php:342
    211211msgid "Under the excerpt"
    212212msgstr ""
    213213
    214 #: wpc-variations-table.php:332
     214#: wpc-variations-table.php:343
    215215msgid "Under the meta"
    216216msgstr ""
    217217
    218 #: wpc-variations-table.php:333
     218#: wpc-variations-table.php:344
    219219msgid "Under the sharing"
    220220msgstr ""
    221221
    222 #: wpc-variations-table.php:334
     222#: wpc-variations-table.php:345
    223223msgid "None (hide it)"
    224224msgstr ""
    225225
    226 #: wpc-variations-table.php:336
     226#: wpc-variations-table.php:347
    227227msgid "Choose the position to show the variations table on single product page. You also can use shortcode [wpcvt] to place it where you want."
    228228msgstr ""
    229229
    230 #: wpc-variations-table.php:341
     230#: wpc-variations-table.php:352
    231231msgid "Layout"
    232232msgstr ""
    233233
    234 #: wpc-variations-table.php:345
     234#: wpc-variations-table.php:356
    235235msgid "Simple"
    236236msgstr ""
    237237
    238 #: wpc-variations-table.php:346
    239 #: wpc-variations-table.php:572
     238#: wpc-variations-table.php:357
     239#: wpc-variations-table.php:592
    240240msgid "DataTables"
    241241msgstr ""
    242242
    243 #: wpc-variations-table.php:348
     243#: wpc-variations-table.php:359
    244244msgid "DataTables supports pagination and filter results by text search. Read more about it here: https://datatables.net/reference/option/language"
    245245msgstr ""
    246246
    247 #: wpc-variations-table.php:353
     247#: wpc-variations-table.php:364
    248248msgid "Hide unpurchasable variation"
    249249msgstr ""
    250250
    251 #: wpc-variations-table.php:363
     251#: wpc-variations-table.php:374
    252252msgid "Order by"
    253253msgstr ""
    254254
    255 #: wpc-variations-table.php:366
    256 #: wpc-variations-table.php:376
    257 #: wpc-variations-table.php:970
     255#: wpc-variations-table.php:377
     256#: wpc-variations-table.php:387
     257#: wpc-variations-table.php:990
    258258msgid "Default"
    259259msgstr ""
    260260
    261 #: wpc-variations-table.php:367
    262 #: wpc-variations-table.php:547
    263 #: wpc-variations-table.php:554
    264 #: wpc-variations-table.php:1222
     261#: wpc-variations-table.php:378
     262#: wpc-variations-table.php:567
     263#: wpc-variations-table.php:574
     264#: wpc-variations-table.php:1242
    265265msgid "Name"
    266266msgstr ""
    267267
    268 #: wpc-variations-table.php:368
     268#: wpc-variations-table.php:379
    269269msgid "Price"
    270270msgstr ""
    271271
    272 #: wpc-variations-table.php:373
     272#: wpc-variations-table.php:384
    273273msgid "Order"
    274274msgstr ""
    275275
    276 #: wpc-variations-table.php:377
     276#: wpc-variations-table.php:388
    277277msgid "ASC"
    278278msgstr ""
    279279
    280 #: wpc-variations-table.php:378
     280#: wpc-variations-table.php:389
    281281msgid "DESC"
    282282msgstr ""
    283283
    284 #: wpc-variations-table.php:383
     284#: wpc-variations-table.php:394
    285285msgid "Variation name"
    286286msgstr ""
    287287
    288 #: wpc-variations-table.php:386
     288#: wpc-variations-table.php:397
    289289msgid "Formatted without attribute label (e.g Green, M)"
    290290msgstr ""
    291291
    292 #: wpc-variations-table.php:387
     292#: wpc-variations-table.php:398
    293293msgid "Formatted with attribute label (e.g Color: Green, Size: M)"
    294294msgstr ""
    295295
    296 #: wpc-variations-table.php:393
     296#: wpc-variations-table.php:404
    297297msgid "Include product name"
    298298msgstr ""
    299299
    300 #: wpc-variations-table.php:400
     300#: wpc-variations-table.php:411
    301301msgid "Include the product name before variation name."
    302302msgstr ""
    303303
    304 #: wpc-variations-table.php:404
     304#: wpc-variations-table.php:415
    305305msgid "Open quick view popup"
    306306msgstr ""
    307307
    308 #: wpc-variations-table.php:420
     308#: wpc-variations-table.php:431
    309309msgid "Show add to cart button"
    310310msgstr ""
    311311
    312 #: wpc-variations-table.php:424
     312#: wpc-variations-table.php:435
    313313msgid "Yes, for each variation"
    314314msgstr ""
    315315
    316 #: wpc-variations-table.php:425
     316#: wpc-variations-table.php:436
    317317msgid "Yes, for all variations"
    318318msgstr ""
    319319
    320 #: wpc-variations-table.php:432
     320#: wpc-variations-table.php:443
    321321msgid "Show image"
    322322msgstr ""
    323323
    324 #: wpc-variations-table.php:443
     324#: wpc-variations-table.php:454
    325325msgid "Show price"
    326326msgstr ""
    327327
    328 #: wpc-variations-table.php:454
     328#: wpc-variations-table.php:465
    329329msgid "Show availability"
    330330msgstr ""
    331331
    332 #: wpc-variations-table.php:465
     332#: wpc-variations-table.php:476
    333333msgid "Show description"
    334334msgstr ""
    335335
    336 #: wpc-variations-table.php:476
     336#: wpc-variations-table.php:487
    337337msgid "Before text"
    338338msgstr ""
    339339
    340 #: wpc-variations-table.php:483
     340#: wpc-variations-table.php:494
    341341msgid "Default text before variations table."
    342342msgstr ""
    343343
    344 #: wpc-variations-table.php:488
     344#: wpc-variations-table.php:499
    345345msgid "After text"
    346346msgstr ""
    347347
    348 #: wpc-variations-table.php:495
     348#: wpc-variations-table.php:506
    349349msgid "Default text after variations table."
    350350msgstr ""
    351351
    352 #: wpc-variations-table.php:504
    353 #: wpc-variations-table.php:817
     352#: wpc-variations-table.php:524
     353#: wpc-variations-table.php:837
    354354msgid "import / export"
    355355msgstr ""
    356356
    357 #: wpc-variations-table.php:513
     357#: wpc-variations-table.php:533
    358358msgid "General"
    359359msgstr ""
    360360
    361 #: wpc-variations-table.php:515
     361#: wpc-variations-table.php:535
    362362msgid "Leave blank to use the default text and its equivalent translation in multiple languages."
    363363msgstr ""
    364364
    365 #: wpc-variations-table.php:520
     365#: wpc-variations-table.php:540
    366366msgid "Add all to cart"
    367367msgstr ""
    368368
    369369#. translators: count
    370 #: wpc-variations-table.php:528
    371 #: wpc-variations-table.php:1493
     370#: wpc-variations-table.php:548
     371#: wpc-variations-table.php:1513
    372372#, php-format
    373373msgid "Add all to cart (%s)"
    374374msgstr ""
    375375
    376 #: wpc-variations-table.php:534
    377 #: wpc-variations-table.php:541
    378 #: wpc-variations-table.php:1219
     376#: wpc-variations-table.php:554
     377#: wpc-variations-table.php:561
     378#: wpc-variations-table.php:1239
    379379msgid "Image"
    380380msgstr ""
    381381
    382 #: wpc-variations-table.php:560
    383 #: wpc-variations-table.php:567
    384 #: wpc-variations-table.php:1223
     382#: wpc-variations-table.php:580
     383#: wpc-variations-table.php:587
     384#: wpc-variations-table.php:1243
    385385msgid "Action"
    386386msgstr ""
    387387
    388 #: wpc-variations-table.php:574
     388#: wpc-variations-table.php:594
    389389msgid "Read more about the below strings here https://datatables.net/reference/option/language"
    390390msgstr ""
    391391
    392 #: wpc-variations-table.php:579
     392#: wpc-variations-table.php:599
    393393msgid "decimal"
    394394msgstr ""
    395395
    396 #: wpc-variations-table.php:592
     396#: wpc-variations-table.php:612
    397397msgid "emptyTable"
    398398msgstr ""
    399399
    400 #: wpc-variations-table.php:605
     400#: wpc-variations-table.php:625
    401401msgid "info"
    402402msgstr ""
    403403
    404 #: wpc-variations-table.php:618
     404#: wpc-variations-table.php:638
    405405msgid "infoEmpty"
    406406msgstr ""
    407407
    408 #: wpc-variations-table.php:631
     408#: wpc-variations-table.php:651
    409409msgid "infoFiltered"
    410410msgstr ""
    411411
    412 #: wpc-variations-table.php:644
     412#: wpc-variations-table.php:664
    413413msgid "infoPostFix"
    414414msgstr ""
    415415
    416 #: wpc-variations-table.php:657
     416#: wpc-variations-table.php:677
    417417msgid "thousands"
    418418msgstr ""
    419419
    420 #: wpc-variations-table.php:670
     420#: wpc-variations-table.php:690
    421421msgid "lengthMenu"
    422422msgstr ""
    423423
    424 #: wpc-variations-table.php:683
     424#: wpc-variations-table.php:703
    425425msgid "loadingRecords"
    426426msgstr ""
    427427
    428 #: wpc-variations-table.php:696
     428#: wpc-variations-table.php:716
    429429msgid "processing"
    430430msgstr ""
    431431
    432 #: wpc-variations-table.php:709
     432#: wpc-variations-table.php:729
    433433msgid "search"
    434434msgstr ""
    435435
    436 #: wpc-variations-table.php:722
     436#: wpc-variations-table.php:742
    437437msgid "zeroRecords"
    438438msgstr ""
    439439
    440 #: wpc-variations-table.php:735
     440#: wpc-variations-table.php:755
    441441msgid "paginate:first"
    442442msgstr ""
    443443
    444 #: wpc-variations-table.php:748
     444#: wpc-variations-table.php:768
    445445msgid "paginate:last"
    446446msgstr ""
    447447
    448 #: wpc-variations-table.php:761
     448#: wpc-variations-table.php:781
    449449msgid "paginate:next"
    450450msgstr ""
    451451
    452 #: wpc-variations-table.php:774
     452#: wpc-variations-table.php:794
    453453msgid "paginate:previous"
    454454msgstr ""
    455455
    456 #: wpc-variations-table.php:787
     456#: wpc-variations-table.php:807
    457457msgid "aria:sortAscending"
    458458msgstr ""
    459459
    460 #: wpc-variations-table.php:800
     460#: wpc-variations-table.php:820
    461461msgid "aria:sortDescending"
    462462msgstr ""
    463463
    464 #: wpc-variations-table.php:886
     464#: wpc-variations-table.php:906
    465465msgid "Community support"
    466466msgstr ""
    467467
    468 #: wpc-variations-table.php:900
     468#: wpc-variations-table.php:920
    469469msgid "Add to Variation"
    470470msgstr ""
    471471
    472 #: wpc-variations-table.php:901
     472#: wpc-variations-table.php:921
    473473msgid "Custom Image"
    474474msgstr ""
    475475
    476 #: wpc-variations-table.php:902
    477 #: wpc-variations-table.php:1025
     476#: wpc-variations-table.php:922
     477#: wpc-variations-table.php:1045
    478478msgid "Remove"
    479479msgstr ""
    480480
    481 #: wpc-variations-table.php:954
     481#: wpc-variations-table.php:974
    482482msgid "Product wasn't returned."
    483483msgstr ""
    484484
    485 #: wpc-variations-table.php:972
     485#: wpc-variations-table.php:992
    486486msgid "settings"
    487487msgstr ""
    488488
    489 #: wpc-variations-table.php:981
     489#: wpc-variations-table.php:1001
    490490msgid "Yes (Overwrite)"
    491491msgstr ""
    492492
    493 #: wpc-variations-table.php:1015
     493#: wpc-variations-table.php:1035
    494494msgid "Custom name"
    495495msgstr ""
    496496
    497 #: wpc-variations-table.php:1020
     497#: wpc-variations-table.php:1040
    498498msgid "Custom image"
    499499msgstr ""
    500500
    501 #: wpc-variations-table.php:1030
     501#: wpc-variations-table.php:1050
    502502msgid "Choose Image"
    503503msgstr ""
    504504
    505 #: wpc-variations-table.php:1035
     505#: wpc-variations-table.php:1055
    506506msgid "- OR - Custom image URL"
    507507msgstr ""
    508508
    509 #: wpc-variations-table.php:1684
     509#: wpc-variations-table.php:1704
    510510msgid "Before variations wrap"
    511511msgstr ""
    512512
    513 #: wpc-variations-table.php:1685
     513#: wpc-variations-table.php:1705
    514514msgid "After variations wrap"
    515515msgstr ""
    516516
    517 #: wpc-variations-table.php:1686
     517#: wpc-variations-table.php:1706
    518518msgid "Before variations list"
    519519msgstr ""
    520520
    521 #: wpc-variations-table.php:1687
     521#: wpc-variations-table.php:1707
    522522msgid "After variations list"
    523523msgstr ""
    524524
    525 #: wpc-variations-table.php:1688
     525#: wpc-variations-table.php:1708
    526526msgid "Before variation"
    527527msgstr ""
    528528
    529 #: wpc-variations-table.php:1689
     529#: wpc-variations-table.php:1709
    530530msgid "After variation"
    531531msgstr ""
    532532
    533 #: wpc-variations-table.php:1690
     533#: wpc-variations-table.php:1710
    534534msgid "Before variation info"
    535535msgstr ""
    536536
    537 #: wpc-variations-table.php:1691
     537#: wpc-variations-table.php:1711
    538538msgid "After variation info"
    539539msgstr ""
    540540
    541 #: wpc-variations-table.php:1692
     541#: wpc-variations-table.php:1712
    542542msgid "Before variation actions"
    543543msgstr ""
    544544
    545 #: wpc-variations-table.php:1693
     545#: wpc-variations-table.php:1713
    546546msgid "After variation actions"
    547547msgstr ""
  • wpc-variations-table/trunk/readme.txt

    r3398623 r3482857  
    33Donate link: https://wpclever.net
    44Tags: woocommerce, wpc, variation table, variation
    5 Tested up to: 6.8
    6 Version: 3.8.2
    7 Stable tag: 3.8.2
     5Tested up to: 6.9
     6Version: 3.8.3
     7Stable tag: 3.8.3
    88License: GPLv2 or later
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    6363== Changelog ==
    6464
     65= 3.8.3 =
     66* Fixed: Minor JS/CSS issues in the backend
     67* Updated: Compatible with WP 6.9 & Woo 10.6
     68
    6569= 3.8.2 =
    6670* Added: Import/export settings
  • wpc-variations-table/trunk/wpc-variations-table.php

    r3398623 r3482857  
    44 * Plugin URI: https://wpclever.net/
    55 * Description: WPC Variations Table will replace dropdown selects with a beautiful table.
    6  * Version: 3.8.2
     6 * Version: 3.8.3
    77 * Author: WPClever
    88 * Author URI: https://wpclever.net
     
    1111 * Requires Plugins: woocommerce
    1212 * Requires at least: 4.0
    13  * Tested up to: 6.8
     13 * Tested up to: 6.9
    1414 * WC requires at least: 3.0
    15  * WC tested up to: 10.3
     15 * WC tested up to: 10.6
    1616 * License: GPLv2 or later
    1717 * License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    2020defined( 'ABSPATH' ) || exit;
    2121
    22 ! defined( 'WPCVT_VERSION' ) && define( 'WPCVT_VERSION', '3.8.2' );
     22! defined( 'WPCVT_VERSION' ) && define( 'WPCVT_VERSION', '3.8.3' );
    2323! defined( 'WPCVT_LITE' ) && define( 'WPCVT_LITE', __FILE__ );
    2424! defined( 'WPCVT_FILE' ) && define( 'WPCVT_FILE', __FILE__ );
     
    3131! defined( 'WPC_URI' ) && define( 'WPC_URI', WPCVT_URI );
    3232
     33include 'includes/log/wpc-log.php';
    3334include 'includes/dashboard/wpc-dashboard.php';
    3435include 'includes/kit/wpc-kit.php';
     
    6970                    // settings page
    7071                    add_action( 'admin_init', [ $this, 'register_settings' ] );
     72                    add_filter( 'pre_update_option', [ $this, 'last_saved' ], 10, 2 );
    7173                    add_action( 'admin_menu', [ $this, 'admin_menu' ] );
    7274
     
    225227                            'sanitize_callback' => [ $this, 'sanitize_array' ],
    226228                    ] );
     229                }
     230
     231                function last_saved( $value, $option ) {
     232                    if ( $option == 'wpcvt_settings' || $option == 'wpcvt_localization' ) {
     233                        $value['_last_saved']    = current_time( 'timestamp' );
     234                        $value['_last_saved_by'] = get_current_user_id();
     235                    }
     236
     237                    return $value;
    227238                }
    228239
     
    498509                                        <tr class="submit">
    499510                                            <th colspan="2">
    500                                                 <?php settings_fields( 'wpcvt_settings' ); ?><?php submit_button(); ?>
     511                                                <div class="wpclever_submit">
     512                                                    <?php
     513                                                    settings_fields( 'wpcvt_settings' );
     514                                                    submit_button( '', 'primary', 'submit', false );
     515
     516                                                    if ( function_exists( 'wpc_last_saved' ) ) {
     517                                                        wpc_last_saved( self::get_settings() );
     518                                                    }
     519                                                    ?>
     520                                                </div>
    501521                                                <a style="display: none;" class="wpclever_export"
    502522                                                   data-key="wpcvt_settings"
     
    11561176                                        }
    11571177
    1158                                         if ( $product_attrs[ $k ]->is_taxonomy() ) {
     1178                                        if ( isset( $product_attrs[ $k ] ) && $product_attrs[ $k ]->is_taxonomy() ) {
    11591179                                            foreach ( $product_attrs[ $k ]->get_terms() as $term ) {
    11601180                                                $attrs[ 'attribute_' . $k ][] = $term->slug;
Note: See TracChangeset for help on using the changeset viewer.