PluginProbe
Filter Everything — WordPress & WooCommerce Filters / 1.9.7
Filter Everything — WordPress & WooCommerce Filters v1.9.7
1.9.7 1.9.6 1.9.5 1.9.4 1.9.3 1.9.2.2 1.9.2.1 trunk 1.2.1 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.4.1 1.4.4 1.4.5 1.4.8 1.4.9 1.5.0 1.5.1 1.6.0 1.6.1 1.6.2 All 52 releases
← All changes | filter-everything.php +39 -66 1.9.2.11.9.7 View file →
@@ -1,10 +1,12 @@
1 1 <?php
2 2 /*
3 3 Plugin Name: Filter Everything&nbsp;— WordPress & WooCommerce Filters
4 4 Plugin URI: https://filtereverything.pro
5 -Description: Filters everything in WordPress & WooCommerce: Products, any Post types, by Any Criteria. Compatible with WPML, ACF and others popular. Supports AJAX.
6 -Version: 1.9.2.1
5 +Description: Instantly filter any WordPress content & WooCommerce products by attributes, taxonomies, custom fields + AJAX, Elementor, automatic filter creation.
6 +Version: 1.9.7
7 +Requires at least: 6.0
8 +Requires PHP: 7.4
7 9 Author: Andrii Stepasiuk
8 10 Author URI: https://filtereverything.pro/about/
9 11 Text Domain: filter-everything
10 12 Domain Path: /lang
@@ -20,21 +22,15 @@
20 22 class FlrtFilter{
21 23
22 24 public function init()
23 25 {
24 - global $flrt_sets, $wpc_not_fired, $chips_count;
25 -
26 - $chips_count = 0;
27 - $wpc_not_fired = true;
28 - $flrt_sets = [];
29 -
30 26 $this->define( 'FLRT_PLUGIN_DIR_PATH', plugin_dir_path( __FILE__ ) );
31 27 $this->define( 'FLRT_PLUGIN_DIR_URL', plugin_dir_url( __FILE__ ) );
32 28 $this->define( 'FLRT_PLUGIN_BASENAME', plugin_basename(__FILE__) );
33 29 $this->define( 'FLRT_PLUGIN_SLUG', 'filter-everything-pro' );
34 - $this->define( 'FLRT_PLUGIN_VER', '1.9.2.1' );
30 + $this->define( 'FLRT_PLUGIN_VER', '1.9.7' );
35 31 $this->define( 'FLRT_PLUGIN_URL', 'https://filtereverything.pro' );
36 - $this->define( 'FLRT_PLUGIN_TESTED_TO', '7.0' );
32 + $this->define( 'FLRT_PLUGIN_TESTED_TO', '7.1' );
37 33 $this->define( 'FLRT_PLUGIN_DEBUG', false );
38 34 $this->define( 'FLRT_TEMPLATES_DIR_NAME', 'filters' );
39 35
40 36 $this->define( 'FLRT_FILTERS_SET_POST_TYPE', 'filter-set' );
@@ -53,10 +49,15 @@
53 49 $this->define( 'FLRT_MARKET', 'codecanyon' );
54 50 $this->define( 'FLRT_RELEASER', 'stepasiuk' );
55 51 $this->define( 'FLRT_APPROVED', 'victor' );
56 52 $this->define( 'FLRT_ITERATION', 'first' );
57 - $this->define( 'FLRT_PRO_PRICE', '$49' );
53 + $this->define( 'FLRT_PRO_PRICE', '$69' );
58 54
55 + if ( ! defined('FLRT_RANGE_LIST_LIMIT')){
56 + $this->define( 'FLRT_RANGE_LIST_LIMIT', 20 );
57 + }
58 +
59 +
59 60 if ( ! defined('FLRT_XML_PATH')){
60 61 $wp_upload_dir = wp_upload_dir();
61 62 $upload_dir_basepath = $wp_upload_dir['basedir'];
62 63
@@ -65,75 +66,45 @@
65 66 }
66 67
67 68 require_once FLRT_PLUGIN_DIR_PATH . 'src/wpc-helpers.php';
68 69
69 - flrt_include('src/wp_query_source_detector.php');
70 + // Thematic helper files split out of wpc-helpers.php (same functions, no renames)
71 + flrt_include('src/helpers/dates.php');
72 + flrt_include('src/helpers/colors.php');
73 + flrt_include('src/helpers/cache-keys.php');
74 + flrt_include('src/helpers/ui.php');
75 + flrt_include('src/helpers/migrations.php');
76 + flrt_include('src/helpers/instant-recount.php');
77 +
78 + // Class autoloading (src/classmap.php + PSR-4 fallback for new sub-namespaced code).
79 + // Only side-effect-free class files are autoloaded; see bin/build-classmap.php.
80 + require_once FLRT_PLUGIN_DIR_PATH . 'src/Autoloader.php';
81 + \FilterEverything\Filter\Autoloader::register();
82 + \FilterEverything\Filter\Autoloader::addClassMap( require FLRT_PLUGIN_DIR_PATH . 'src/classmap.php', FLRT_PLUGIN_DIR_PATH . 'src' );
83 + \FilterEverything\Filter\Autoloader::addNamespace( 'FilterEverything\\Filter', FLRT_PLUGIN_DIR_PATH . 'src' );
84 +
85 + // Files that do work at include time (functions, hooks, instantiation) — kept explicit, in order.
70 86 flrt_include('src/wpc-compat.php');
71 87 flrt_include('src/wpc-utility-functions.php');
72 88 flrt_include('src/wpc-default-hooks.php');
73 89 flrt_include('src/wpc-third-party.php');
74 - flrt_include('src/PluginHelpers.php');
75 -
76 - flrt_include('src/Plugin.php');
77 90 flrt_include('src/PostTypes.php');
78 - flrt_include('src/Settings/TabInterface.php');
79 - flrt_include('src/Settings/BaseSettings.php');
80 - flrt_include('src/Settings/TabRenderer.php');
81 - flrt_include('src/Settings/Container.php');
82 91
83 - flrt_include('src/Entities/Entity.php');
84 - flrt_include('src/Entities/PostMetaTrait.php');
85 -
86 - flrt_include('src/Entities/TaxonomyEntity.php');
87 - flrt_include('src/Entities/PostMetaEntity.php');
88 - flrt_include('src/Entities/PostMetaNumEntity.php');
89 - flrt_include('src/Entities/AuthorEntity.php');
90 - flrt_include('src/Entities/PostDateEntity.php');
91 - flrt_include('src/Entities/PostMetaDateEntity.php');
92 - flrt_include('src/Settings/Tabs/SeoTabTrait.php');
93 -
94 - // Include PRO
92 + // PRO bootstrap. Comment out this single line (or ship without the pro/ folder)
93 + // to run the plugin as the free version: it is the only place that registers
94 + // PRO classes, constants and hooks.
95 95 // flrt_include('pro/filters-pro.php');
96 96
97 - flrt_include('src/Entities/DefaultEntity.php');
98 - flrt_include('src/Entities/EntityManager.php');
99 -
100 - flrt_include('src/Settings/DefaultSettings.php');
101 - flrt_include('src/Settings/Tabs/SettingsTab.php');
102 - flrt_include('src/Settings/Tabs/PermalinksTab.php');
103 - flrt_include('src/Settings/Tabs/ImportExportTabFree.php');
104 - flrt_include('src/Settings/Tabs/ExperimentalTab.php');
105 - flrt_include('src/Settings/Tabs/AboutProTab.php');
106 -
107 - flrt_include('src/Settings/Filter.php');
108 -
109 - flrt_include('src/RequestParser.php');
110 - flrt_include('src/UrlManager.php');
111 - flrt_include('src/Chips.php');
112 - flrt_include('src/Sorting.php');
97 + flrt_include('src/RobotsTxt.php');
113 98 flrt_include('src/Swatches.php');
114 -
115 - flrt_include('src/Walkers/WalkerCheckbox.php');
116 -
117 - flrt_include('src/TemplateManager.php');
118 - flrt_include('src/WpManager.php');
119 -
120 - flrt_include('src/Admin/FilterSet.php');
121 - flrt_include('src/Admin/AutoFilterSet.php');
122 - flrt_include('src/Admin/FilterFields.php');
123 - flrt_include('src/Admin/Admin.php');
124 99 flrt_include('src/Admin/AdminHooks.php');
100 + flrt_include('src/Admin/AdminNotices.php');
101 + flrt_include('src/Admin/WhatsNew.php');
102 + flrt_include('src/Admin/ReviewRequest.php');
125 103 flrt_include('src/Admin/MetaBoxes.php');
126 - flrt_include('src/Admin/Widgets/FiltersWidget.php');
127 - flrt_include('src/Admin/Widgets/ChipsWidget.php');
128 - flrt_include('src/Admin/Widgets/SortingWidget.php');
129 - flrt_include('src/Admin/Widgets.php');
130 - flrt_include('src/Admin/Shortcodes.php');
131 - flrt_include('src/Admin/Validator.php');
132 - flrt_include('src/Admin/DuplicateFilterSet.php');
133 -
134 - flrt_include('src/FormFields/Input.php');
104 + flrt_include('src/Frontend/Widgets.php');
135 105 flrt_include('src/wpc-api.php');
106 + flrt_include('src/Frontend/Builders/gutenberg/gutenberg.php');
136 107
137 108 $this->registerHooks();
138 109
139 110 $this->initSettings();
@@ -161,8 +132,10 @@
161 132
162 133 add_action( 'after_setup_theme', [$this, 'afterSetupTheme'] );
163 134
164 135 register_activation_hook(__FILE__, ['FilterEverything\Filter\Plugin', 'activate']);
136 +
137 + register_deactivation_hook(__FILE__, ['FilterEverything\Filter\Plugin', 'deactivate']);
165 138
166 139 register_uninstall_hook(__FILE__, ['FilterEverything\Filter\Plugin', 'uninstall']);
167 140
168 141 add_action('after_switch_theme', ['FilterEverything\Filter\Plugin', 'switchTheme'] );