Plugin Directory

Changeset 2944588


Ignore:
Timestamp:
07/28/2023 11:20:36 AM (3 years ago)
Author:
SkyVerge
Message:

Committing 2.5.0 to trunk

Location:
woocommerce-product-sku-generator/trunk
Files:
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • woocommerce-product-sku-generator/trunk/i18n/languages/woocommerce-product-sku-generator.pot

    r2764177 r2944588  
    1 # Copyright (C) 2022 SkyVerge
     1# Copyright (C) 2023 SkyVerge
    22# This file is distributed under the GNU General Public License v3.0.
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Product SKU Generator for WooCommerce 2.4.8\n"
     5"Project-Id-Version: Product SKU Generator for WooCommerce 2.5.0\n"
    66"Report-Msgid-Bugs-To: "
    77"https://woocommerce.com/my-account/marketplace-ticket-form/\n"
    8 "POT-Creation-Date: 2022-07-31 20:35:51+00:00\n"
     8"POT-Creation-Date: 2023-07-28 11:20:12+00:00\n"
    99"MIME-Version: 1.0\n"
    1010"Content-Type: text/plain; charset=utf-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "PO-Revision-Date: 2022-MO-DA HO:MI+ZONE\n"
     12"PO-Revision-Date: 2023-MO-DA HO:MI+ZONE\n"
    1313"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
    1414"Language-Team: LANGUAGE <LL@li.org>\n"
    1515
    16 #: woocommerce-product-sku-generator.php:127
     16#: woocommerce-product-sku-generator.php:147
    1717#. translators: Placeholders: %s - plugin name
    1818msgid "You cannot clone instances of %s."
    1919msgstr ""
    2020
    21 #: woocommerce-product-sku-generator.php:138
     21#: woocommerce-product-sku-generator.php:158
    2222#. translators: Placeholders: %s - plugin name
    2323msgid "You cannot unserialize instances of %s."
    2424msgstr ""
    2525
    26 #: woocommerce-product-sku-generator.php:152
     26#: woocommerce-product-sku-generator.php:172
    2727msgid "Configure"
    2828msgstr ""
    2929
    30 #: woocommerce-product-sku-generator.php:153
     30#: woocommerce-product-sku-generator.php:173
    3131msgid "FAQ"
    3232msgstr ""
    3333
    34 #: woocommerce-product-sku-generator.php:154
     34#: woocommerce-product-sku-generator.php:174
    3535msgid "Support"
    3636msgstr ""
    3737
    38 #: woocommerce-product-sku-generator.php:219
     38#: woocommerce-product-sku-generator.php:239
    3939#. translators: Placeholders: %1$s <strong>, %2$s - </strong>, %3$s - version
    4040#. number, %4$s + %6$s - <a> tags, %5$s - </a>
     
    4545msgstr ""
    4646
    47 #: woocommerce-product-sku-generator.php:466
     47#: woocommerce-product-sku-generator.php:499
    4848msgid "SKU"
    4949msgstr ""
    5050
    51 #: woocommerce-product-sku-generator.php:467
    52 #: woocommerce-product-sku-generator.php:492
     51#: woocommerce-product-sku-generator.php:500
     52#: woocommerce-product-sku-generator.php:525
    5353msgid "Save product to generate SKU"
    5454msgstr ""
    5555
    56 #: woocommerce-product-sku-generator.php:544
     56#: woocommerce-product-sku-generator.php:577
    5757msgid "Product SKUs"
    5858msgstr ""
    5959
    60 #: woocommerce-product-sku-generator.php:550
     60#: woocommerce-product-sku-generator.php:583
    6161msgid "Generate Simple / Parent SKUs:"
    6262msgstr ""
    6363
    64 #: woocommerce-product-sku-generator.php:551
     64#: woocommerce-product-sku-generator.php:584
    6565msgid ""
    6666"Generating simple / parent SKUs disables the SKU field while editing "
     
    6868msgstr ""
    6969
    70 #: woocommerce-product-sku-generator.php:555
    71 #: woocommerce-product-sku-generator.php:571
     70#: woocommerce-product-sku-generator.php:588
     71#: woocommerce-product-sku-generator.php:604
    7272msgid "Never (let me set them)"
    7373msgstr ""
    7474
    75 #: woocommerce-product-sku-generator.php:556
     75#: woocommerce-product-sku-generator.php:589
    7676msgid "Using the product slug (name)"
    7777msgstr ""
    7878
    79 #: woocommerce-product-sku-generator.php:557
     79#: woocommerce-product-sku-generator.php:590
    8080msgid "Using the product ID"
    8181msgstr ""
    8282
    83 #: woocommerce-product-sku-generator.php:562
     83#: woocommerce-product-sku-generator.php:595
    8484msgid ""
    8585"Determine how SKUs for simple, external, or parent products will be "
     
    8787msgstr ""
    8888
    89 #: woocommerce-product-sku-generator.php:566
     89#: woocommerce-product-sku-generator.php:599
    9090msgid "Generate Variation SKUs:"
    9191msgstr ""
    9292
    93 #: woocommerce-product-sku-generator.php:567
     93#: woocommerce-product-sku-generator.php:600
    9494msgid "Determine how SKUs for product variations will be generated."
    9595msgstr ""
    9696
    97 #: woocommerce-product-sku-generator.php:572
     97#: woocommerce-product-sku-generator.php:605
    9898msgid "Using the attribute slugs (names)"
    9999msgstr ""
    100100
    101 #: woocommerce-product-sku-generator.php:573
     101#: woocommerce-product-sku-generator.php:606
    102102msgid "Using the variation ID"
    103103msgstr ""
    104104
    105 #: woocommerce-product-sku-generator.php:582
     105#: woocommerce-product-sku-generator.php:615
    106106msgid "Replace spaces in attributes?"
    107107msgstr ""
    108108
    109 #: woocommerce-product-sku-generator.php:584
     109#: woocommerce-product-sku-generator.php:617
    110110#. translators: placeholders are <strong> tags
    111111msgid ""
     
    114114msgstr ""
    115115
    116 #: woocommerce-product-sku-generator.php:588
     116#: woocommerce-product-sku-generator.php:621
    117117msgid "Do not replace spaces in attribute names."
    118118msgstr ""
    119119
    120 #: woocommerce-product-sku-generator.php:589
     120#: woocommerce-product-sku-generator.php:622
    121121msgid "Replace spaces with underscores"
    122122msgstr ""
    123123
    124 #: woocommerce-product-sku-generator.php:590
     124#: woocommerce-product-sku-generator.php:623
    125125msgid "Replace spaces with dashes / hyphens"
    126126msgstr ""
    127127
    128 #: woocommerce-product-sku-generator.php:591
     128#: woocommerce-product-sku-generator.php:624
    129129msgid "Remove spaces from attribute names"
    130130msgstr ""
    131131
    132 #: woocommerce-product-sku-generator.php:596
     132#: woocommerce-product-sku-generator.php:629
    133133msgid "Replace spaces in attribute names when used in a SKU."
    134134msgstr ""
  • woocommerce-product-sku-generator/trunk/readme.txt

    r2764177 r2944588  
    33Tags: woocommerce, sku, product sku, sku generator
    44Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=paypal@skyverge.com&item_name=Donation+for+WooCommerce+SKU+Generator
    5 Requires at least: 4.7
    6 Tested up to: 6.0.1
    7 Stable Tag: 2.4.8
     5Requires at least: 5.6
     6Tested up to: 6.2.2
     7Requires PHP: 7.4
     8Stable Tag: 2.5.0
    89License: GPLv3
    910License URI: http://www.gnu.org/licenses/gpl-3.0.html
     
    6566> **NOTE that** any time a product is updated, its SKU will be generated, so this may override old SKUs if you update products. This plugin is meant for complete SKU automation, or you can selectively enable / disable it as needed.
    6667
    67  1. Be sure you're running WooCommerce 2.5+ in your shop.
     68 1. Be sure you're running WooCommerce 3.9+ in your shop.
    6869
    6970 2. You can:
     
    154155
    155156== Changelog ==
     157
     158= 2023.07.28 - version 2.5.0 =
     159 * Misc - Add compatibility for WooCommerce High Performance Order Storage (HPOS)
     160 * Misc - Require PHP 7.4+ and WordPress 5.6+
     161 * Dev - Add `wc_sku_generator_variation_attributes` filter to allow modification of variation attributes used for SKU generation
    156162
    157163= 2022.07.31 - version 2.4.8 =
  • woocommerce-product-sku-generator/trunk/woocommerce-product-sku-generator.php

    r2764177 r2944588  
    66 * Author: SkyVerge
    77 * Author URI: http://www.skyverge.com/
    8  * Version: 2.4.8
     8 * Version: 2.5.0
    99 * Text Domain: woocommerce-product-sku-generator
    1010 * Domain Path: /i18n/languages/
    1111 *
    12  * Copyright: (c) 2014-2022, SkyVerge, Inc. (info@skyverge.com)
     12 * Copyright: (c) 2014-2023, SkyVerge, Inc. (info@skyverge.com)
    1313 *
    1414 * License: GNU General Public License v3.0
     
    1616 *
    1717 * @author    SkyVerge
    18  * @copyright Copyright (c) 2014-2022, SkyVerge, Inc. (info@skyverge.com)
     18 * @copyright Copyright (c) 2014-2023, SkyVerge, Inc. (info@skyverge.com)
    1919 * @license   http://www.gnu.org/licenses/gpl-3.0.html GNU General Public License v3.0
    2020 *
    2121 * WC requires at least: 3.9.4
    22  * WC tested up to: 6.7.0
     22 * WC tested up to: 7.9.0
    2323 */
    2424
     
    4646
    4747    /** plugin version number */
    48     const VERSION = '2.4.8';
     48    const VERSION = '2.5.0';
    4949
    5050    /** required WooCommerce version number */
     
    9494            // run every time
    9595            $this->install();
     96        }
     97
     98        // handle HPOS compatibility
     99        add_action( 'before_woocommerce_init', [ $this, 'handle_hpos_compatibility' ] );
     100    }
     101
     102
     103    /**
     104     * Declares HPOS compatibility.
     105     *
     106     * @since 2.5.0
     107     *
     108     * @internal
     109     *
     110     * @return void
     111     */
     112    public function handle_hpos_compatibility()
     113    {
     114        if ( class_exists(\Automattic\WooCommerce\Utilities\FeaturesUtil::class ) ) {
     115            \Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility( 'custom_order_tables', plugin_basename( __FILE__ ), true );
    96116        }
    97117    }
     
    301321             * Return true here to ensure they're always sorted consistently.
    302322             *
     323             * @see https://github.com/skyverge/woocommerce-product-sku-generator/pull/2
     324             *
    303325             * @since 2.0.0
     326             *
    304327             * @param bool $sort_atts true to force attribute sorting
    305              * @see https://github.com/skyverge/woocommerce-product-sku-generator/pull/2
    306328             */
    307329            if ( apply_filters( 'wc_sku_generator_force_attribute_sorting', false ) ) {
     
    313335             *
    314336             * @since 2.0.0
     337             *
    315338             * @param string $separator the separator character
    316339             */
    317340            $separator = apply_filters( 'wc_sku_generator_attribute_separator', $this->get_sku_separator() );
    318341
    319             $variation_sku = implode( $separator, $variation['attributes'] );
     342            /**
     343             * Filters attributes that are used in generating the variation's SKU.
     344             *
     345             * @since 2.5.0
     346             *
     347             * @param array $variation_attributes variation attributes before they are imploded for SKU generation
     348             */
     349            $variation_attributes = apply_filters('wc_sku_generator_variation_attributes', $variation['attributes'] );
     350
     351            $variation_sku = implode( $separator, $variation_attributes );
    320352            $variation_sku = str_replace( 'attribute_', '', $variation_sku );
    321353        }
     
    330362         *
    331363         * @since 2.0.0
     364         *
    332365         * @param string $variation_sku the generated variation portion of the SKU
    333366         * @param array $variation product variation data
     
    366399        if ( 'never' !== get_option( 'wc_sku_generator_simple' ) ) {
    367400
    368             $product_sku = wc_product_generate_unique_sku( $product->get_id(), $product_sku );
    369 
    370             try {
    371 
    372                 $product->set_sku( $product_sku );
    373                 $product->save();
    374 
    375             } catch ( WC_Data_Exception $exception ) {}
     401            $product_sku = wc_product_generate_unique_sku( $product->get_id(), $product_sku );
     402
     403            try {
     404
     405                $product->set_sku( $product_sku );
     406                $product->save();
     407
     408            } catch ( WC_Data_Exception $exception ) {}
    376409        }
    377410    }
     
    408441            $sku = apply_filters( 'wc_sku_generator_variation_sku_format', $sku, $parent_sku, $variation_sku );
    409442
    410             try {
    411 
    412                 $sku = wc_product_generate_unique_sku( $variation_id, $sku );
    413 
    414                 $variation->set_sku( $sku );
    415                 $variation->save();
    416 
    417             } catch ( WC_Data_Exception $exception ) {}
     443            try {
     444
     445                $sku = wc_product_generate_unique_sku( $variation_id, $sku );
     446
     447                $variation->set_sku( $sku );
     448                $variation->save();
     449
     450            } catch ( WC_Data_Exception $exception ) {}
    418451        }
    419452    }
Note: See TracChangeset for help on using the changeset viewer.