Plugin Directory

Changeset 3743781


Ignore:
Timestamp:
10/13/2026 11:46:30 AM (3 weeks ago)
Author:
pmbaldha
Message:

1.10.0 trunk version

Location:
featured-products-first-for-woocommerce/trunk
Files:
225 added
1 deleted
7 edited

Legend:

Unmodified
Added
Removed
  • featured-products-first-for-woocommerce/trunk/featured-products-first-for-woocommerce.php

    r3226798 r3743781  
    22
    33/**
    4  * Plugin Name: Featured Products First for WooCommerce Pro
     4 * Plugin Name: Featured Products First for WooCommerce
    55 * Plugin URI: https://prashantwp.com/
    66 * Description: Places featured products listed first On Shop Page, Category Archive Page, and Search Page.
    7  * Version: 1.9.8
    8  * Author: WooCommerce  Expert - WooCommerce Developer - Featured Product First for WooCommerce Plugin Developer
     7 * Version: 1.10.0
     8 * Author: Prashant Baldha
    99 * Author URI: https://www.prashantwp.com/
    1010 * Requires at least: 4.8.1
    11  * Tested up to: 6.7
     11 * Tested up to: 7.1
    1212 * Requires PHP: 5.6.0
    1313 * Text Domain: featured-products-first-for-woocommerce
    … …  
    1515 * Requires Plugins: woocommerce
    1616 * WC requires at least: 4.0
    17  * WC tested up to: 9.6.0
     17 * WC tested up to: 10.8.1
    1818 * License: GPL v3 or later
    1919 * License URI: https://www.gnu.org/licenses/gpl-3.0.en.html
    … …  
    4949            }
    5050            // Include Freemius SDK.
    51             require_once dirname( __FILE__ ) . '/freemius/start.php';
     51            // var_dump( file_exists( dirname( __FILE__ ) . '/vendor/freemius/start.php') );
     52            // die;
     53            require_once dirname( __FILE__ ) . '/vendor/freemius/start.php';
    5254            $wff = fs_dynamic_init( array(
    53                 'id'              => '1689',
    54                 'slug'            => 'featured-products-first-for-woocommerce',
    55                 'type'            => 'plugin',
    56                 'public_key'      => 'pk_fcce2e3f8c351f2e0dcdc012ba146',
    57                 'is_premium'      => false,
    58                 'premium_suffix'  => 'Pro',
    59                 'has_addons'      => false,
    60                 'has_paid_plans'  => true,
    61                 'trial'           => array(
     55                'id'               => '1689',
     56                'slug'             => 'featured-products-first-for-woocommerce',
     57                'type'             => 'plugin',
     58                'public_key'       => 'pk_fcce2e3f8c351f2e0dcdc012ba146',
     59                'is_premium'       => false,
     60                'premium_suffix'   => 'Pro',
     61                'has_addons'       => false,
     62                'has_paid_plans'   => true,
     63                'trial'            => array(
    6264                    'days'               => 30,
    6365                    'is_require_payment' => true,
    6466                ),
    65                 'has_affiliation' => 'customers',
    66                 'menu'            => array(
     67                'has_affiliation'  => 'customers',
     68                'menu'             => array(
    6769                    'slug'       => 'featured-products-first-for-woocommerce',
    6870                    'first-path' => 'admin.php?page=featured-products-first-for-woocommerce',
    … …  
    7173                    ),
    7274                ),
    73                 'is_live'         => true,
     75                'is_live'          => true,
     76                'is_org_compliant' => true,
    7477            ) );
    7578        }
    … …  
    100103    }
    101104}
     105add_action( 'before_woocommerce_init', function () {
     106    if ( class_exists( '\\Automattic\\WooCommerce\\Utilities\\FeaturesUtil' ) ) {
     107        \Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility( 'custom_order_tables', __FILE__, true );
     108    }
     109} );
     110add_action( 'before_woocommerce_init', function () {
     111    if ( class_exists( '\\Automattic\\WooCommerce\\Utilities\\FeaturesUtil' ) ) {
     112        \Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility( 'cart_checkout_blocks', __FILE__, true );
     113    }
     114} );
  • featured-products-first-for-woocommerce/trunk/includes/class-wff-admin.php

    r2707799 r3743781  
    133133                                                        'featured-products-first-for-woocommerce'
    134134                                                ),
    135                                                 '<a href="mailto:prashant@prashantwp.com">prashant@prashantwp.com</a>'
     135                                                '<a href="mailto:pmbaldha@gmail.com">pmbaldha@gmail.com</a>'
    136136                                        );
    137137                                        echo '<br/>';
    … …  
    352352                }
    353353
     354                // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Read-only admin parameter.
    354355                if ( ! empty( $_GET['tab'] ) && 'featured_products_first' == $_GET['tab'] ) {
    355356                        wp_enqueue_script(
    … …  
    357358                                esc_url( WFF_URL . '/assets/js/admin-custom.js' ),
    358359                                array( 'jquery' ),
    359                                 WFF_VERSION
     360                                WFF_VERSION,
     361                                array( 'in_footer' => true, 'strategy' => 'defer' )
    360362                        );
    361363                }
  • featured-products-first-for-woocommerce/trunk/includes/class-wff-premium.php

    r3226785 r3743781  
    7676        global $wpdb;
    7777        $product_ids_for_sql = implode( ',', array_map( 'absint', $product_ids ) );
     78        // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
    7879        $sorted_product_ids = $wpdb->get_col( $wpdb->prepare(
     80            // phpcs:ignore WordPress.DB.PreparedSQLPlaceholders.UnquotedComplexPlaceholder, WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
    7981            'SELECT post_id FROM ' . $wpdb->postmeta . ' WHERE post_id IN ( %0s ) AND meta_key=%s ORDER BY meta_value %0s',
    8082            $product_ids_for_sql,
    … …  
    100102        global $wpdb;
    101103        $product_ids_for_sql = implode( ',', array_map( 'absint', $product_ids ) );
     104        // phpcs:ignore WordPress.DB.PreparedSQLPlaceholders.UnquotedComplexPlaceholder, WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
    102105        $sorted_product_ids = $wpdb->get_col( $wpdb->prepare(
    103106            'SELECT product_id FROM ' . $wpdb->wc_product_meta_lookup . ' WHERE product_id      IN ( %0s ) ORDER BY %0s %0s, product_id DESC',
    … …  
    110113
    111114    private function get_orderby_value() {
     115        // phpcs:ignore WordPress.Security.NonceVerification.Recommended
    112116        $orderby_value = ( isset( $_GET['orderby'] ) ? sanitize_text_field( wp_unslash( $_GET['orderby'] ) ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) ) );
    113117        return $orderby_value;
  • featured-products-first-for-woocommerce/trunk/includes/class-wff-put-featured-product-first.php

    r2707799 r3743781  
    162162                global $wpdb;
    163163                $product_ids_for_sql = implode(',', array_map( 'absint', $product_ids ) );
     164                // phpcs:ignore WordPress.DB.PreparedSQLPlaceholders.UnquotedComplexPlaceholder, WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
    164165                $sorted_product_ids = $wpdb->get_col( $wpdb->prepare( 'SELECT ID FROM ' . $wpdb->posts . ' WHERE ID IN ( %0s ) ORDER BY %0s %0s', $product_ids_for_sql, $order_field_names, $order ) );
    165166                return $sorted_product_ids;
    … …  
    181182                global $wpdb;
    182183                $product_ids_for_sql = implode(',', array_map( 'absint', $product_ids ) );
     184                // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
    183185                $sorted_product_ids = $wpdb->get_col(
    184186                        $wpdb->prepare(
     187                                // phpcs:ignore WordPress.DB.PreparedSQLPlaceholders.UnquotedComplexPlaceholder
    185188                                'SELECT post_id FROM ' . $wpdb->postmeta . ' WHERE post_id IN ( %0s ) AND meta_key=%s ORDER BY meta_value %s',
    186189                                $product_ids_for_sql,
    … …  
    208211                global $wpdb;
    209212                $product_ids_for_sql = implode( ',', array_map( 'absint', $product_ids ) );
    210                 $sorted_product_ids = $wpdb->get_col( $wpdb->prepare( 'SELECT product_id FROM ' . $wpdb->wc_product_meta_lookup . ' WHERE product_id    IN ( %0s ) ORDER BY %0s %0s, product_id DESC', $product_ids_for_sql, $field, $order ) );
     213                // phpcs:ignore WordPress.DB.PreparedSQLPlaceholders.UnquotedComplexPlaceholder, WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
     214                $sorted_product_ids = $wpdb->get_col( $wpdb->prepare( 'SELECT product_id FROM ' . $wpdb->wc_product_meta_lookup . ' WHERE product_id IN ( %0s ) ORDER BY %0s %0s, product_id DESC', $product_ids_for_sql, $field, $order ) );
    211215
    212216                return $sorted_product_ids;
    … …  
    219223         */
    220224        private function get_orderby_value() {
     225                // phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.MissingUnslash, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
    221226                $orderby_value = isset( $_GET['orderby'] ) ? wc_clean( (string) $_GET['orderby'] ) : apply_filters(
    222227                        'woocommerce_default_catalog_orderby',
  • featured-products-first-for-woocommerce/trunk/includes/widgets/class-wff-widget-featured-product.php

    r2707799 r3743781  
    7676                                'post_status'    => 'publish',
    7777                                'post_type'      => 'product',
     78                                // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_key
    7879                                'meta_key'       => '_featured',
     80                                // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_value
    7981                                'meta_value'     => 'yes',
    8082                                'meta_compare'   => '=',
    8183                        );
    8284                }
     85                // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_query
    8386                $query_args['meta_query'] = WC()->query->get_meta_query();
    8487
    … …  
    104107
    105108                $content = ob_get_clean();
    106 
    107                 echo $content;
     109                echo $content;  // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Content is pre-escaped.
    108110
    109111                $this->cache_widget( $args, $content );
  • featured-products-first-for-woocommerce/trunk/languages/featured-products-first-for-woocommerce.pot

    r2707799 r3743781  
    66"Project-Id-Version: Featured Products First for WooCommerce Pro 1.8.1\n"
    77"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/featured-products-first-for-woocommerce-plugatic\n"
    8 "Last-Translator: Prashant Baldha <prashant@prashantwp.com>\n"
    9 "Language-Team: LANGUAGE Prashant Baldha <prashant@prashantwp.com>\n"
     8"Last-Translator: Prashant Baldha <pmbaldha@gmail.com>\n"
     9"Language-Team: LANGUAGE Prashant Baldha <pmbaldha@gmail.com>\n"
    1010"MIME-Version: 1.0\n"
    1111"Content-Type: text/plain; charset=UTF-8\n"
  • featured-products-first-for-woocommerce/trunk/readme.txt

    r3226785 r3743781  
    1 === Featured Products First for WooCommerce - A Extension of WooCommerce (WooCommerce Addon Plugin) ===
    2 Contributors: pmbaldha, woocommerce9, freemius
     1=== Featured Products First for WooCommerce ===
     2Contributors: pmbaldha
    33Tags: featured, product, woocommerce
    44Donate link: http://prashantwp.com/
    5 Requires at least: 4.0
    6 Tested up to: 6.7
     5Requires at least: 4.8.1
     6Tested up to: 7.1
    77Requires PHP: 5.6.0
    8 Stable tag: 1.9.8
     8Stable tag: 1.10.0
    99License: GPLv3 or later
    1010License URI: https://www.gnu.org/licenses/gpl-3.0.en.html
    1111
    12 Displays your most profitable products first (top) in Product Listing and Earn more money with the Featured Product First for WooCommerce Plugin. The Featured Product First for WooCommerce places featured products listed on Shop Page, Search Page, and Category pages of WooCommerce.
     12Displays your most profitable products first (top) in Product Listing and Earn more money with the Featured Product First for WooCommerce Plugin.
    1313
    1414== Description ==
    … …  
    1616
    1717Maximize your profitability  by putting your favorite products first. 💰️💰️💰️💰️
    18 
    19 **[Demo of Featured Product First For WooCommerce](https://prashantwp.com/woo-addon-demo/shop/)**
    2018
    2119#### Full Features List of Featured Products First for WooCommerce:
    … …  
    1151137. Featured Product First Settings
    1161148. Settings and Upgrade Links
    117 9. Featured Product widget
    118115
    119116== Changelog ==
     117
     118= 1.9.8, October 13, 2026 =
     119* TWEAK: Make codebase compatible with Plugin Check Plugins (PCP).
     120* TWEAK: Freemius library updated to the latest version.
    120121
    121122= 1.9.7, May 22, 2025 =
Note: See TracChangeset for help on using the changeset viewer.