Plugin Directory

Changeset 3483578


Ignore:
Timestamp:
03/16/2026 08:18:18 AM (12 days ago)
Author:
wpclever
Message:

Update 4.4.0

Location:
wpc-linked-variation
Files:
43 added
7 edited

Legend:

Unmodified
Added
Removed
  • wpc-linked-variation/trunk/includes/dashboard/css/dashboard.css

    r3402947 r3483578  
    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-linked-variation/trunk/includes/dashboard/css/dashboard.css.map

    r3402947 r3483578  
    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-linked-variation/trunk/includes/dashboard/css/dashboard.scss

    r3402947 r3483578  
    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-linked-variation/trunk/includes/dashboard/wpc-dashboard.php

    r3402947 r3483578  
    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-linked-variation/trunk/languages/wpc-linked-variation.pot

    r3469032 r3483578  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: WPC Linked Variation for WooCommerce 4.3.9\n"
     5"Project-Id-Version: WPC Linked Variation for WooCommerce 4.4.0\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wpc-linked-variation\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: 2026-02-25T04:13:57+00:00\n"
     12"POT-Creation-Date: 2026-03-16T08:15:27+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-linked-variation.php:161
     42#: wpc-linked-variation.php:163
    4343msgctxt "Post Type General Name"
    4444msgid "Linked Variations"
    4545msgstr ""
    4646
    47 #: wpc-linked-variation.php:162
     47#: wpc-linked-variation.php:164
    4848msgctxt "Post Type Singular Name"
    4949msgid "Linked Variation"
    5050msgstr ""
    5151
    52 #: wpc-linked-variation.php:163
     52#: wpc-linked-variation.php:165
    5353msgid "Add New Linked Variation"
    5454msgstr ""
    5555
    56 #: wpc-linked-variation.php:164
     56#: wpc-linked-variation.php:166
    5757msgid "Add New"
    5858msgstr ""
    5959
    60 #: wpc-linked-variation.php:165
     60#: wpc-linked-variation.php:167
    6161msgid "Edit Linked Variation"
    6262msgstr ""
    6363
    64 #: wpc-linked-variation.php:166
     64#: wpc-linked-variation.php:168
    6565msgid "Update Linked Variation"
    6666msgstr ""
    6767
    68 #: wpc-linked-variation.php:167
     68#: wpc-linked-variation.php:169
    6969msgid "Search Linked Variation"
    7070msgstr ""
    7171
    72 #: wpc-linked-variation.php:171
    73 #: wpc-linked-variation.php:557
     72#: wpc-linked-variation.php:173
     73#: wpc-linked-variation.php:568
    7474msgid "Linked Variation"
    7575msgstr ""
    7676
    77 #: wpc-linked-variation.php:222
    78 #: wpc-linked-variation.php:440
     77#: wpc-linked-variation.php:224
     78#: wpc-linked-variation.php:442
    7979msgid "Configuration"
    8080msgstr ""
    8181
    82 #: wpc-linked-variation.php:264
     82#: wpc-linked-variation.php:266
    8383msgid "Source"
    8484msgstr ""
    8585
    86 #: wpc-linked-variation.php:267
    87 #: wpc-linked-variation.php:280
    88 #: wpc-linked-variation.php:454
     86#: wpc-linked-variation.php:269
     87#: wpc-linked-variation.php:282
     88#: wpc-linked-variation.php:456
    8989msgid "Products"
    9090msgstr ""
    9191
    92 #: wpc-linked-variation.php:287
     92#: wpc-linked-variation.php:289
    9393msgid "Search for a product&hellip;"
    9494msgstr ""
    9595
    96 #: wpc-linked-variation.php:305
     96#: wpc-linked-variation.php:307
    9797msgid "Terms"
    9898msgstr ""
    9999
    100 #: wpc-linked-variation.php:310
     100#: wpc-linked-variation.php:312
    101101msgid "All (any)"
    102102msgstr ""
    103103
    104 #: wpc-linked-variation.php:310
     104#: wpc-linked-variation.php:312
    105105msgid "or"
    106106msgstr ""
    107107
    108 #: wpc-linked-variation.php:338
    109 #: wpc-linked-variation.php:662
     108#: wpc-linked-variation.php:340
     109#: wpc-linked-variation.php:673
    110110msgid "Limit"
    111111msgstr ""
    112112
    113 #: wpc-linked-variation.php:349
     113#: wpc-linked-variation.php:351
    114114msgid "Orderby"
    115115msgstr ""
    116116
    117 #: wpc-linked-variation.php:353
    118 #: wpc-linked-variation.php:371
     117#: wpc-linked-variation.php:355
     118#: wpc-linked-variation.php:373
    119119msgid "Default"
    120120msgstr ""
    121121
    122 #: wpc-linked-variation.php:354
     122#: wpc-linked-variation.php:356
    123123msgid "None"
    124124msgstr ""
    125125
    126 #: wpc-linked-variation.php:355
     126#: wpc-linked-variation.php:357
    127127msgid "ID"
    128128msgstr ""
    129129
    130 #: wpc-linked-variation.php:356
     130#: wpc-linked-variation.php:358
    131131msgid "Name"
    132132msgstr ""
    133133
    134 #: wpc-linked-variation.php:357
     134#: wpc-linked-variation.php:359
    135135msgid "Type"
    136136msgstr ""
    137137
    138 #: wpc-linked-variation.php:358
     138#: wpc-linked-variation.php:360
    139139msgid "Rand"
    140140msgstr ""
    141141
    142 #: wpc-linked-variation.php:359
     142#: wpc-linked-variation.php:361
     143#: wpc-linked-variation.php:443
     144msgid "Date"
     145msgstr ""
     146
     147#: wpc-linked-variation.php:362
     148msgid "Price"
     149msgstr ""
     150
     151#: wpc-linked-variation.php:363
     152msgid "Modified"
     153msgstr ""
     154
     155#: wpc-linked-variation.php:369
     156msgid "Order"
     157msgstr ""
     158
     159#: wpc-linked-variation.php:374
     160msgid "DESC"
     161msgstr ""
     162
     163#: wpc-linked-variation.php:375
     164msgid "ASC"
     165msgstr ""
     166
     167#: wpc-linked-variation.php:380
     168msgid "Linked by (attributes)"
     169msgstr ""
     170
     171#: wpc-linked-variation.php:398
     172msgid "Move"
     173msgstr ""
     174
     175#: wpc-linked-variation.php:398
     176msgid "Show images"
     177msgstr ""
     178
     179#: wpc-linked-variation.php:398
     180msgid "Use dropdown"
     181msgstr ""
     182
     183#: wpc-linked-variation.php:398
     184msgid "Use swatches"
     185msgstr ""
     186
    143187#: wpc-linked-variation.php:441
    144 msgid "Date"
    145 msgstr ""
    146 
    147 #: wpc-linked-variation.php:360
    148 msgid "Price"
    149 msgstr ""
    150 
    151 #: wpc-linked-variation.php:361
    152 msgid "Modified"
    153 msgstr ""
    154 
    155 #: wpc-linked-variation.php:367
    156 msgid "Order"
    157 msgstr ""
    158 
    159 #: wpc-linked-variation.php:372
    160 msgid "DESC"
    161 msgstr ""
    162 
    163 #: wpc-linked-variation.php:373
    164 msgid "ASC"
    165 msgstr ""
    166 
    167 #: wpc-linked-variation.php:378
    168 msgid "Linked by (attributes)"
    169 msgstr ""
    170 
    171 #: wpc-linked-variation.php:396
    172 msgid "Move"
    173 msgstr ""
    174 
    175 #: wpc-linked-variation.php:396
    176 msgid "Show images"
    177 msgstr ""
    178 
    179 #: wpc-linked-variation.php:396
    180 msgid "Use dropdown"
    181 msgstr ""
    182 
    183 #: wpc-linked-variation.php:396
    184 msgid "Use swatches"
    185 msgstr ""
    186 
    187 #: wpc-linked-variation.php:439
    188188msgid "Title"
    189189msgstr ""
    190190
    191 #: wpc-linked-variation.php:471
     191#: wpc-linked-variation.php:473
    192192msgid "Categories"
    193193msgstr ""
    194194
    195 #: wpc-linked-variation.php:475
     195#: wpc-linked-variation.php:477
    196196msgid "Tags"
    197197msgstr ""
    198198
    199 #: wpc-linked-variation.php:490
     199#: wpc-linked-variation.php:492
    200200msgid "Attributes"
    201201msgstr ""
    202202
    203 #: wpc-linked-variation.php:557
    204 #: wpc-linked-variation.php:572
     203#: wpc-linked-variation.php:568
     204#: wpc-linked-variation.php:583
    205205msgid "WPC Linked Variation"
    206206msgstr ""
    207207
    208 #: wpc-linked-variation.php:572
     208#: wpc-linked-variation.php:583
    209209msgid "Premium"
    210210msgstr ""
    211211
    212212#. translators: stars
    213 #: wpc-linked-variation.php:575
     213#: wpc-linked-variation.php:586
    214214#, php-format
    215215msgid "Thank you for using our plugin! If you are satisfied, please reward it a full five-star %s rating."
    216216msgstr ""
    217217
    218 #: wpc-linked-variation.php:578
     218#: wpc-linked-variation.php:589
    219219msgid "Reviews"
    220220msgstr ""
    221221
    222 #: wpc-linked-variation.php:581
     222#: wpc-linked-variation.php:592
    223223msgid "Changelog"
    224224msgstr ""
    225225
    226 #: wpc-linked-variation.php:584
     226#: wpc-linked-variation.php:595
    227227msgid "Discussion"
    228228msgstr ""
    229229
    230 #: wpc-linked-variation.php:592
     230#: wpc-linked-variation.php:603
    231231msgid "Settings updated."
    232232msgstr ""
    233233
    234 #: wpc-linked-variation.php:599
    235 #: wpc-linked-variation.php:1433
     234#: wpc-linked-variation.php:610
     235#: wpc-linked-variation.php:1454
    236236msgid "Settings"
    237237msgstr ""
    238238
    239 #: wpc-linked-variation.php:603
     239#: wpc-linked-variation.php:614
    240240msgid "Localization"
    241241msgstr ""
    242242
    243 #: wpc-linked-variation.php:607
    244 #: wpc-linked-variation.php:1434
     243#: wpc-linked-variation.php:618
     244#: wpc-linked-variation.php:1455
    245245msgid "Linked Variations"
    246246msgstr ""
    247247
    248 #: wpc-linked-variation.php:612
    249 #: wpc-linked-variation.php:1435
     248#: wpc-linked-variation.php:623
     249#: wpc-linked-variation.php:1456
    250250msgid "Premium Version"
    251251msgstr ""
    252252
    253 #: wpc-linked-variation.php:616
     253#: wpc-linked-variation.php:627
    254254msgid "Essential Kit"
    255255msgstr ""
    256256
    257 #: wpc-linked-variation.php:637
     257#: wpc-linked-variation.php:648
    258258msgid "Position on single page"
    259259msgstr ""
    260260
    261 #: wpc-linked-variation.php:640
     261#: wpc-linked-variation.php:651
     262#: wpc-linked-variation.php:665
     263msgid "Above the add to cart button"
     264msgstr ""
     265
     266#: wpc-linked-variation.php:652
     267#: wpc-linked-variation.php:666
     268msgid "Under the add to cart button"
     269msgstr ""
     270
     271#: wpc-linked-variation.php:653
     272#: wpc-linked-variation.php:667
     273msgid "Under the title"
     274msgstr ""
     275
    262276#: wpc-linked-variation.php:654
    263 msgid "Above the add to cart button"
    264 msgstr ""
    265 
    266 #: wpc-linked-variation.php:641
     277#: wpc-linked-variation.php:668
     278msgid "Under the price"
     279msgstr ""
     280
    267281#: wpc-linked-variation.php:655
    268 msgid "Under the add to cart button"
    269 msgstr ""
    270 
    271 #: wpc-linked-variation.php:642
     282msgid "Under the excerpt"
     283msgstr ""
     284
    272285#: wpc-linked-variation.php:656
    273 msgid "Under the title"
    274 msgstr ""
    275 
    276 #: wpc-linked-variation.php:643
    277 #: wpc-linked-variation.php:657
    278 msgid "Under the price"
    279 msgstr ""
    280 
    281 #: wpc-linked-variation.php:644
    282 msgid "Under the excerpt"
    283 msgstr ""
    284 
    285 #: wpc-linked-variation.php:645
     286#: wpc-linked-variation.php:669
     287msgid "None (hide it)"
     288msgstr ""
     289
    286290#: wpc-linked-variation.php:658
    287 msgid "None (hide it)"
    288 msgstr ""
    289 
    290 #: wpc-linked-variation.php:647
    291291msgid "Choose the position to show the linked variations on single product page."
    292292msgstr ""
    293293
    294 #: wpc-linked-variation.php:651
     294#: wpc-linked-variation.php:662
    295295msgid "Position on archive page"
    296296msgstr ""
    297297
    298 #: wpc-linked-variation.php:660
     298#: wpc-linked-variation.php:671
    299299msgid "Choose the position to show the linked variations on archive page."
    300300msgstr ""
    301301
    302 #: wpc-linked-variation.php:672
     302#: wpc-linked-variation.php:683
    303303msgid "Shortcode"
    304304msgstr ""
    305305
    306306#. translators: shortcode
    307 #: wpc-linked-variation.php:674
     307#: wpc-linked-variation.php:685
    308308#, php-format
    309309msgid "You can use the shortcode %s to show the list where you want."
    310310msgstr ""
    311311
    312 #: wpc-linked-variation.php:678
     312#: wpc-linked-variation.php:689
    313313msgid "Tooltip library"
    314314msgstr ""
    315315
    316 #: wpc-linked-variation.php:681
     316#: wpc-linked-variation.php:692
    317317msgid "Hint.css"
    318318msgstr ""
    319319
    320 #: wpc-linked-variation.php:682
     320#: wpc-linked-variation.php:693
    321321msgid "Tippy.js"
    322322msgstr ""
    323323
    324 #: wpc-linked-variation.php:683
     324#: wpc-linked-variation.php:694
    325325msgid "None (Disable)"
    326326msgstr ""
    327327
    328 #: wpc-linked-variation.php:692
     328#: wpc-linked-variation.php:703
    329329msgid "Tooltip position"
    330330msgstr ""
    331331
    332 #: wpc-linked-variation.php:695
     332#: wpc-linked-variation.php:706
    333333msgid "Top"
    334334msgstr ""
    335335
    336 #: wpc-linked-variation.php:696
     336#: wpc-linked-variation.php:707
    337337msgid "Right"
    338338msgstr ""
    339339
    340 #: wpc-linked-variation.php:697
     340#: wpc-linked-variation.php:708
    341341msgid "Bottom"
    342342msgstr ""
    343343
    344 #: wpc-linked-variation.php:698
     344#: wpc-linked-variation.php:709
    345345msgid "Left"
    346346msgstr ""
    347347
    348 #: wpc-linked-variation.php:704
     348#: wpc-linked-variation.php:715
    349349msgid "Tooltip content"
    350350msgstr ""
    351351
    352 #: wpc-linked-variation.php:707
     352#: wpc-linked-variation.php:718
    353353msgid "Attribute information"
    354354msgstr ""
    355355
    356 #: wpc-linked-variation.php:708
     356#: wpc-linked-variation.php:719
    357357msgid "Product information"
    358358msgstr ""
    359359
    360 #: wpc-linked-variation.php:713
     360#: wpc-linked-variation.php:724
    361361msgid "Hide empty attribute terms"
    362362msgstr ""
    363363
    364 #: wpc-linked-variation.php:716
    365 #: wpc-linked-variation.php:726
    366 #: wpc-linked-variation.php:735
     364#: wpc-linked-variation.php:727
     365#: wpc-linked-variation.php:737
     366#: wpc-linked-variation.php:746
     367#: wpc-linked-variation.php:767
     368msgid "Yes"
     369msgstr ""
     370
     371#: wpc-linked-variation.php:728
     372#: wpc-linked-variation.php:738
     373#: wpc-linked-variation.php:747
     374#: wpc-linked-variation.php:768
     375msgid "No"
     376msgstr ""
     377
     378#: wpc-linked-variation.php:730
     379msgid "Hide attribute terms that haven't any products."
     380msgstr ""
     381
     382#: wpc-linked-variation.php:734
     383msgid "Exclude hidden product"
     384msgstr ""
     385
     386#: wpc-linked-variation.php:743
     387msgid "Exclude unpurchasable product"
     388msgstr ""
     389
     390#: wpc-linked-variation.php:752
     391msgid "Link to individual product"
     392msgstr ""
     393
     394#: wpc-linked-variation.php:755
     395msgid "Open in the same tab"
     396msgstr ""
     397
    367398#: wpc-linked-variation.php:756
    368 msgid "Yes"
    369 msgstr ""
    370 
    371 #: wpc-linked-variation.php:717
    372 #: wpc-linked-variation.php:727
    373 #: wpc-linked-variation.php:736
     399msgid "Open in the new tab"
     400msgstr ""
     401
    374402#: wpc-linked-variation.php:757
    375 msgid "No"
    376 msgstr ""
    377 
    378 #: wpc-linked-variation.php:719
    379 msgid "Hide attribute terms that haven't any products."
    380 msgstr ""
    381 
    382 #: wpc-linked-variation.php:723
    383 msgid "Exclude hidden product"
    384 msgstr ""
    385 
    386 #: wpc-linked-variation.php:732
    387 msgid "Exclude unpurchasable product"
    388 msgstr ""
    389 
    390 #: wpc-linked-variation.php:741
    391 msgid "Link to individual product"
    392 msgstr ""
    393 
    394 #: wpc-linked-variation.php:744
    395 msgid "Open in the same tab"
    396 msgstr ""
    397 
    398 #: wpc-linked-variation.php:745
    399 msgid "Open in the new tab"
    400 msgstr ""
    401 
    402 #: wpc-linked-variation.php:746
    403403msgid "Open quick view popup"
    404404msgstr ""
    405405
    406 #: wpc-linked-variation.php:753
     406#: wpc-linked-variation.php:764
    407407msgid "Use nofollow links"
    408408msgstr ""
    409409
    410 #: wpc-linked-variation.php:767
     410#: wpc-linked-variation.php:787
    411411msgid "import / export"
    412412msgstr ""
    413413
    414 #: wpc-linked-variation.php:776
     414#: wpc-linked-variation.php:796
    415415msgid "General"
    416416msgstr ""
    417417
    418 #: wpc-linked-variation.php:778
     418#: wpc-linked-variation.php:798
    419419msgid "Leave blank to use the default text and its equivalent translation in multiple languages."
    420420msgstr ""
    421421
    422 #: wpc-linked-variation.php:782
     422#: wpc-linked-variation.php:802
    423423msgid "More"
    424424msgstr ""
    425425
    426426#. translators: count
    427 #: wpc-linked-variation.php:789
    428 #: wpc-linked-variation.php:1240
     427#: wpc-linked-variation.php:809
     428#: wpc-linked-variation.php:1261
    429429#, php-format
    430430msgid "+%d More"
    431431msgstr ""
    432432
    433 #: wpc-linked-variation.php:1451
     433#: wpc-linked-variation.php:1472
    434434msgid "Community support"
    435435msgstr ""
    436436
    437 #: wpc-linked-variation.php:1485
     437#: wpc-linked-variation.php:1506
    438438msgid "Before container"
    439439msgstr ""
    440440
    441 #: wpc-linked-variation.php:1486
     441#: wpc-linked-variation.php:1507
    442442msgid "After container"
    443443msgstr ""
    444444
    445 #: wpc-linked-variation.php:1487
     445#: wpc-linked-variation.php:1508
    446446msgid "Before attributes"
    447447msgstr ""
    448448
    449 #: wpc-linked-variation.php:1488
     449#: wpc-linked-variation.php:1509
    450450msgid "After attributes"
    451451msgstr ""
    452452
    453 #: wpc-linked-variation.php:1489
     453#: wpc-linked-variation.php:1510
    454454msgid "Before attribute"
    455455msgstr ""
    456456
    457 #: wpc-linked-variation.php:1490
     457#: wpc-linked-variation.php:1511
    458458msgid "After attribute"
    459459msgstr ""
    460460
    461 #: wpc-linked-variation.php:1491
     461#: wpc-linked-variation.php:1512
    462462msgid "Before attribute label"
    463463msgstr ""
    464464
    465 #: wpc-linked-variation.php:1492
     465#: wpc-linked-variation.php:1513
    466466msgid "After attribute label"
    467467msgstr ""
  • wpc-linked-variation/trunk/readme.txt

    r3469032 r3483578  
    44Tags: woocommerce, wpc, linked variations, variation
    55Tested up to: 6.9
    6 Version: 4.3.9
    7 Stable tag: 4.3.9
     6Version: 4.4.0
     7Stable tag: 4.4.0
    88License: GPLv2 or later
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    8585== Changelog ==
    8686
     87= 4.4.0 =
     88* Fixed: Minor CSS/JS issues in the backend
     89* Updated: Compatible with WP 6.9 & Woo 10.6
     90
    8791= 4.3.9 =
    8892* Updated: Optimized the code
  • wpc-linked-variation/trunk/wpc-linked-variation.php

    r3469032 r3483578  
    44Plugin URI: https://wpclever.net/
    55Description: WPC Linked Variation built to link separate products together by attributes.
    6 Version: 4.3.9
     6Version: 4.4.0
    77Author: WPClever
    88Author URI: https://wpclever.net
     
    1313Tested up to: 6.9
    1414WC requires at least: 3.0
    15 WC tested up to: 10.5
     15WC tested up to: 10.6
    1616License: GPLv2 or later
    1717License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    2020defined( 'ABSPATH' ) || exit;
    2121
    22 ! defined( 'WPCLV_VERSION' ) && define( 'WPCLV_VERSION', '4.3.9' );
     22! defined( 'WPCLV_VERSION' ) && define( 'WPCLV_VERSION', '4.4.0' );
    2323! defined( 'WPCLV_LITE' ) && define( 'WPCLV_LITE', __FILE__ );
    2424! defined( 'WPCLV_FILE' ) && define( 'WPCLV_FILE', __FILE__ );
     
    3131! defined( 'WPC_URI' ) && define( 'WPC_URI', WPCLV_URI );
    3232
     33include 'includes/log/wpc-log.php';
    3334include 'includes/dashboard/wpc-dashboard.php';
    3435include 'includes/kit/wpc-kit.php';
     
    7778                    add_action( 'admin_enqueue_scripts', [ $this, 'admin_enqueue_scripts' ] );
    7879                    add_action( 'admin_init', [ $this, 'register_settings' ] );
     80                    add_filter( 'pre_update_option', [ $this, 'last_saved' ], 10, 2 );
    7981                    add_action( 'admin_menu', [ $this, 'admin_menu' ] );
    8082
     
    208210                        if ( self::enable_ajax( 'shortcode' ) ) {
    209211                            // render wrapper only
    210                             echo '<div class="' . esc_attr( apply_filters( 'wpclv_wrap_class', 'wpclv-attributes wpclv-attributes-shortcode wpclv-attributes-' . $attrs['id'], 'shortcode' ) ) . '" data-id="' . esc_attr( $attrs['id'] ) . '"></div>';
     212                            echo '<div class="' . esc_attr( apply_filters( 'wpclv_wrap_class', 'wpclv-attributes wpclv-attributes-ajax wpclv-attributes-shortcode wpclv-attributes-' . $attrs['id'], 'shortcode' ) ) . '" data-id="' . esc_attr( $attrs['id'] ) . '"></div>';
    211213                        } else {
    212214                            self::render_content( $attrs['id'], absint( $attrs['limit'] ), $attrs['hide'], 'shortcode' );
     
    552554                            'sanitize_callback' => [ $this, 'sanitize_array' ],
    553555                    ] );
     556                }
     557
     558                function last_saved( $value, $option ) {
     559                    if ( $option == 'wpclv_settings' || $option == 'wpclv_localization' ) {
     560                        $value['_last_saved']    = current_time( 'timestamp' );
     561                        $value['_last_saved_by'] = get_current_user_id();
     562                    }
     563
     564                    return $value;
    554565                }
    555566
     
    761772                                        <tr class="submit">
    762773                                            <th colspan="2">
    763                                                 <?php settings_fields( 'wpclv_settings' ); ?><?php submit_button(); ?>
     774                                                <div class="wpclever_submit">
     775                                                    <?php
     776                                                    settings_fields( 'wpclv_settings' );
     777                                                    submit_button( '', 'primary', 'submit', false );
     778
     779                                                    if ( function_exists( 'wpc_last_saved' ) ) {
     780                                                        wpc_last_saved( self::get_settings() );
     781                                                    }
     782                                                    ?>
     783                                                </div>
    764784                                                <a style="display: none;" class="wpclever_export"
    765785                                                   data-key="wpclv_settings"
     
    10111031                    if ( self::enable_ajax( 'archive' ) ) {
    10121032                        // render wrapper only
    1013                         echo '<div class="' . esc_attr( apply_filters( 'wpclv_wrap_class', 'wpclv-attributes wpclv-attributes-archive wpclv-attributes-' . $product_id, 'archive' ) ) . '" data-id="' . esc_attr( $product_id ) . '"></div>';
     1033                        echo '<div class="' . esc_attr( apply_filters( 'wpclv_wrap_class', 'wpclv-attributes wpclv-attributes-ajax wpclv-attributes-archive wpclv-attributes-' . $product_id, 'archive' ) ) . '" data-id="' . esc_attr( $product_id ) . '"></div>';
    10141034                    } else {
    10151035                        $limit = absint( self::get_setting( 'archive_limit', '10' ) );
     
    10331053                    if ( self::enable_ajax( 'single' ) ) {
    10341054                        // render wrapper only
    1035                         echo '<div class="' . esc_attr( apply_filters( 'wpclv_wrap_class', 'wpclv-attributes wpclv-attributes-single wpclv-attributes-' . $product_id, 'single' ) ) . '" data-id="' . esc_attr( $product_id ) . '"></div>';
     1055                        echo '<div class="' . esc_attr( apply_filters( 'wpclv_wrap_class', 'wpclv-attributes wpclv-attributes-ajax wpclv-attributes-single wpclv-attributes-' . $product_id, 'single' ) ) . '" data-id="' . esc_attr( $product_id ) . '"></div>';
    10361056                    } else {
    10371057                        self::render_content( $product_id, $limit, $hide, 'single' );
     
    10761096                        $link_dropdown       = $link_data['dropdown'] ?? [];
    10771097                        $hide_attributes     = ! empty( $hide ) ? explode( ',', $hide ) : [];
    1078                         $assigned_attributes = array_keys( $_product->get_attributes() );
     1098                        $assigned_attributes = $_product->get_attributes();
    10791099                        $product_attributes  = [];
    10801100
    10811101                        foreach ( $assigned_attributes as $assigned_attribute ) {
    1082                             $product_attributes[ $assigned_attribute ] = wc_get_product_terms( $product_id, $assigned_attribute, [ 'fields' => 'ids' ] );
     1102                            $assigned_attribute_name                        = $assigned_attribute->get_name();
     1103                            $product_attributes[ $assigned_attribute_name ] = wc_get_product_terms( $product_id, $assigned_attribute_name, [ 'fields' => 'ids' ] );
    10831104                        }
    10841105
Note: See TracChangeset for help on using the changeset viewer.