Plugin Directory

Changeset 3468928


Ignore:
Timestamp:
02/24/2026 10:06:34 PM (5 weeks ago)
Author:
Rustaurius
Message:

v5.3.12 released and tagged

Location:
ultimate-product-catalogue
Files:
6 edited
1 copied

Legend:

Unmodified
Added
Removed
  • ultimate-product-catalogue/tags/5.3.12/readme.txt

    r3453029 r3468928  
    33Tags: catalog, product catalog, product, catalogue, woocommerce, products, catalogue, catalogs, catalogues, catalog plugin, woocommerce product catalog, woocommerce catalog, woocommerce checkout, woocommerce products
    44Tested up to: 6.9
    5 Stable tag: 5.3.11
     5Stable tag: 5.3.12
    66License: GPLv3
    77License URI: https://www.gnu.org/licenses/gpl-3.0.html
     
    216216== Changelog ==
    217217
     218= 5.3.12 (2026-02-24) =
     219- Fix: Overview mode displaying sub-categories from all categories and not just the selected one.
     220
    218221= 5.3.11 (2026-02-03) =
    219222- New: When importing, top-level categories and tags that don't already exist are now automatically created.
  • ultimate-product-catalogue/tags/5.3.12/ultimate-product-catalogue.php

    r3453029 r3468928  
    44 * Plugin URI: https://www.etoilewebdesign.com/plugins/ultimate-product-catalog/
    55 * Description: Add a product catalog to your site with blocks or shortcodes. Works with WooCommerce or standalone. Flexible and customizable, works with any theme.
    6  * Version: 5.3.11
     6 * Version: 5.3.12
    77 * Author: Etoile Web Design
    88 * Author URI: https://www.etoilewebdesign.com/
     
    1111 * Domain Path: /languages/
    1212 * WC requires at least: 7.1
    13  * WC tested up to: 10.4
     13 * WC tested up to: 10.5
    1414 */
    1515
     
    6363        define( 'EWD_UPCP_PLUGIN_FNAME', plugin_basename( __FILE__ ) );
    6464        define( 'EWD_UPCP_TEMPLATE_DIR', 'ewd-upcp-templates' );
    65         define( 'EWD_UPCP_VERSION', '5.3.11' );
     65        define( 'EWD_UPCP_VERSION', '5.3.12' );
    6666
    6767        define( 'EWD_UPCP_PRODUCT_POST_TYPE', 'upcp_product' );
  • ultimate-product-catalogue/tags/5.3.12/views/View.Catalog.class.php

    r3453029 r3468928  
    11991199
    12001200        // Update the filtering for the sidebar, so that only shortcode params are used and $_GET params are ignored
    1201         $saved_filtering_categories    = $this->filtering_categories;
    1202         $saved_filtering_subcategories = $this->filtering_subcategories;
    1203         $saved_filtering_tags          = $this->filtering_tags;
    1204         $saved_filtering_custom_fields = $this->filtering_custom_fields;
    1205 
    1206         $this->filtering_categories    = ! empty( $this->category ) ? array_map( 'intval', explode( ',', $this->category ) ) : array();
    1207         $this->filtering_subcategories = ! empty( $this->subcategory ) ? array_map( 'intval', explode( ',', $this->subcategory ) ) : array();
    1208         $this->filtering_tags          = ! empty( $this->tags ) ? array_map( 'intval', explode( ',', $this->tags ) ) : array();
    1209 
    1210         $custom_field_pairs = array();
    1211         $custom_fields = ! empty( $this->custom_fields ) ? $this->custom_fields : array();
    1212 
    1213         foreach ( $custom_fields as $custom_field ) {
    1214 
    1215             $field_id = substr( $custom_field, 0, strpos( $custom_field, '=' ) );
    1216             $field_value = substr( $custom_field, strpos( $custom_field, '=' ) + 1 );
    1217 
    1218             $custom_field_pairs[ $field_id ] = empty( $custom_field_pairs[ $field_id ] ) ? array( $field_value ) : array_merge( $custom_field_pairs[ $field_id ], array( $field_value ) );
    1219         }
    1220 
    1221         $this->filtering_custom_fields = $custom_field_pairs;
    1222 
    1223         // Filter for all products that should be displayed in the sidebar
    1224         $products_for_sidebar = $this->filter_products( $products );
    1225         $this->set_product_data( $products_for_sidebar );
    1226 
    1227         // Restore the real filtering (so the UI shows selected items properly, and product display stays filtered)
    1228         $this->filtering_categories    = $saved_filtering_categories;
    1229         $this->filtering_subcategories = $saved_filtering_subcategories;
    1230         $this->filtering_tags          = $saved_filtering_tags;
    1231         $this->filtering_custom_fields = $saved_filtering_custom_fields;
     1201        // only if not on overview mode
     1202        if ( empty( $this->overview_mode ) ) {
     1203
     1204            $saved_filtering_categories    = $this->filtering_categories;
     1205            $saved_filtering_subcategories = $this->filtering_subcategories;
     1206            $saved_filtering_tags          = $this->filtering_tags;
     1207            $saved_filtering_custom_fields = $this->filtering_custom_fields;
     1208   
     1209            $this->filtering_categories    = ! empty( $this->category ) ? array_map( 'intval', explode( ',', $this->category ) ) : array();
     1210            $this->filtering_subcategories = ! empty( $this->subcategory ) ? array_map( 'intval', explode( ',', $this->subcategory ) ) : array();
     1211            $this->filtering_tags          = ! empty( $this->tags ) ? array_map( 'intval', explode( ',', $this->tags ) ) : array();
     1212   
     1213            $custom_field_pairs = array();
     1214            $custom_fields = ! empty( $this->custom_fields ) ? $this->custom_fields : array();
     1215   
     1216            foreach ( $custom_fields as $custom_field ) {
     1217   
     1218                $field_id = substr( $custom_field, 0, strpos( $custom_field, '=' ) );
     1219                $field_value = substr( $custom_field, strpos( $custom_field, '=' ) + 1 );
     1220   
     1221                $custom_field_pairs[ $field_id ] = empty( $custom_field_pairs[ $field_id ] ) ? array( $field_value ) : array_merge( $custom_field_pairs[ $field_id ], array( $field_value ) );
     1222            }
     1223   
     1224            $this->filtering_custom_fields = $custom_field_pairs;
     1225   
     1226            // Filter for all products that should be displayed in the sidebar
     1227            $products_for_sidebar = $this->filter_products( $products );
     1228            $this->set_product_data( $products_for_sidebar );
     1229
     1230            // Restore the real filtering (so the UI shows selected items properly, and product display stays filtered)
     1231            $this->filtering_categories    = $saved_filtering_categories;
     1232            $this->filtering_subcategories = $saved_filtering_subcategories;
     1233            $this->filtering_tags          = $saved_filtering_tags;
     1234            $this->filtering_custom_fields = $saved_filtering_custom_fields;
     1235        }
     1236        else {
     1237
     1238            $this->set_product_data( $products_for_display );
     1239        }
    12321240
    12331241        //Restore the products to only those being displayed
  • ultimate-product-catalogue/trunk/readme.txt

    r3453029 r3468928  
    33Tags: catalog, product catalog, product, catalogue, woocommerce, products, catalogue, catalogs, catalogues, catalog plugin, woocommerce product catalog, woocommerce catalog, woocommerce checkout, woocommerce products
    44Tested up to: 6.9
    5 Stable tag: 5.3.11
     5Stable tag: 5.3.12
    66License: GPLv3
    77License URI: https://www.gnu.org/licenses/gpl-3.0.html
     
    216216== Changelog ==
    217217
     218= 5.3.12 (2026-02-24) =
     219- Fix: Overview mode displaying sub-categories from all categories and not just the selected one.
     220
    218221= 5.3.11 (2026-02-03) =
    219222- New: When importing, top-level categories and tags that don't already exist are now automatically created.
  • ultimate-product-catalogue/trunk/ultimate-product-catalogue.php

    r3453029 r3468928  
    44 * Plugin URI: https://www.etoilewebdesign.com/plugins/ultimate-product-catalog/
    55 * Description: Add a product catalog to your site with blocks or shortcodes. Works with WooCommerce or standalone. Flexible and customizable, works with any theme.
    6  * Version: 5.3.11
     6 * Version: 5.3.12
    77 * Author: Etoile Web Design
    88 * Author URI: https://www.etoilewebdesign.com/
     
    1111 * Domain Path: /languages/
    1212 * WC requires at least: 7.1
    13  * WC tested up to: 10.4
     13 * WC tested up to: 10.5
    1414 */
    1515
     
    6363        define( 'EWD_UPCP_PLUGIN_FNAME', plugin_basename( __FILE__ ) );
    6464        define( 'EWD_UPCP_TEMPLATE_DIR', 'ewd-upcp-templates' );
    65         define( 'EWD_UPCP_VERSION', '5.3.11' );
     65        define( 'EWD_UPCP_VERSION', '5.3.12' );
    6666
    6767        define( 'EWD_UPCP_PRODUCT_POST_TYPE', 'upcp_product' );
  • ultimate-product-catalogue/trunk/views/View.Catalog.class.php

    r3453029 r3468928  
    11991199
    12001200        // Update the filtering for the sidebar, so that only shortcode params are used and $_GET params are ignored
    1201         $saved_filtering_categories    = $this->filtering_categories;
    1202         $saved_filtering_subcategories = $this->filtering_subcategories;
    1203         $saved_filtering_tags          = $this->filtering_tags;
    1204         $saved_filtering_custom_fields = $this->filtering_custom_fields;
    1205 
    1206         $this->filtering_categories    = ! empty( $this->category ) ? array_map( 'intval', explode( ',', $this->category ) ) : array();
    1207         $this->filtering_subcategories = ! empty( $this->subcategory ) ? array_map( 'intval', explode( ',', $this->subcategory ) ) : array();
    1208         $this->filtering_tags          = ! empty( $this->tags ) ? array_map( 'intval', explode( ',', $this->tags ) ) : array();
    1209 
    1210         $custom_field_pairs = array();
    1211         $custom_fields = ! empty( $this->custom_fields ) ? $this->custom_fields : array();
    1212 
    1213         foreach ( $custom_fields as $custom_field ) {
    1214 
    1215             $field_id = substr( $custom_field, 0, strpos( $custom_field, '=' ) );
    1216             $field_value = substr( $custom_field, strpos( $custom_field, '=' ) + 1 );
    1217 
    1218             $custom_field_pairs[ $field_id ] = empty( $custom_field_pairs[ $field_id ] ) ? array( $field_value ) : array_merge( $custom_field_pairs[ $field_id ], array( $field_value ) );
    1219         }
    1220 
    1221         $this->filtering_custom_fields = $custom_field_pairs;
    1222 
    1223         // Filter for all products that should be displayed in the sidebar
    1224         $products_for_sidebar = $this->filter_products( $products );
    1225         $this->set_product_data( $products_for_sidebar );
    1226 
    1227         // Restore the real filtering (so the UI shows selected items properly, and product display stays filtered)
    1228         $this->filtering_categories    = $saved_filtering_categories;
    1229         $this->filtering_subcategories = $saved_filtering_subcategories;
    1230         $this->filtering_tags          = $saved_filtering_tags;
    1231         $this->filtering_custom_fields = $saved_filtering_custom_fields;
     1201        // only if not on overview mode
     1202        if ( empty( $this->overview_mode ) ) {
     1203
     1204            $saved_filtering_categories    = $this->filtering_categories;
     1205            $saved_filtering_subcategories = $this->filtering_subcategories;
     1206            $saved_filtering_tags          = $this->filtering_tags;
     1207            $saved_filtering_custom_fields = $this->filtering_custom_fields;
     1208   
     1209            $this->filtering_categories    = ! empty( $this->category ) ? array_map( 'intval', explode( ',', $this->category ) ) : array();
     1210            $this->filtering_subcategories = ! empty( $this->subcategory ) ? array_map( 'intval', explode( ',', $this->subcategory ) ) : array();
     1211            $this->filtering_tags          = ! empty( $this->tags ) ? array_map( 'intval', explode( ',', $this->tags ) ) : array();
     1212   
     1213            $custom_field_pairs = array();
     1214            $custom_fields = ! empty( $this->custom_fields ) ? $this->custom_fields : array();
     1215   
     1216            foreach ( $custom_fields as $custom_field ) {
     1217   
     1218                $field_id = substr( $custom_field, 0, strpos( $custom_field, '=' ) );
     1219                $field_value = substr( $custom_field, strpos( $custom_field, '=' ) + 1 );
     1220   
     1221                $custom_field_pairs[ $field_id ] = empty( $custom_field_pairs[ $field_id ] ) ? array( $field_value ) : array_merge( $custom_field_pairs[ $field_id ], array( $field_value ) );
     1222            }
     1223   
     1224            $this->filtering_custom_fields = $custom_field_pairs;
     1225   
     1226            // Filter for all products that should be displayed in the sidebar
     1227            $products_for_sidebar = $this->filter_products( $products );
     1228            $this->set_product_data( $products_for_sidebar );
     1229
     1230            // Restore the real filtering (so the UI shows selected items properly, and product display stays filtered)
     1231            $this->filtering_categories    = $saved_filtering_categories;
     1232            $this->filtering_subcategories = $saved_filtering_subcategories;
     1233            $this->filtering_tags          = $saved_filtering_tags;
     1234            $this->filtering_custom_fields = $saved_filtering_custom_fields;
     1235        }
     1236        else {
     1237
     1238            $this->set_product_data( $products_for_display );
     1239        }
    12321240
    12331241        //Restore the products to only those being displayed
Note: See TracChangeset for help on using the changeset viewer.