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 | src/Admin/AutoFilterSet.php +8 -13 1.9.2.11.9.7 View file →
@@ -312,9 +312,8 @@
312 312 }
313 313
314 314 private function addAutoFilters()
315 315 {
316 - $filterLinks = get_option('wpc_filter_permalinks', []);
317 316 $filterSets = $this->prepareFilterEntities();
318 317 $filterFields = parent::getFilterFieldService();
319 318
320 319 if ($filterSets !== false) {
@@ -324,11 +323,12 @@
324 323 $is_valid = $this->validateSetFields($filterSetFields);
325 324 if(!$is_valid){
326 325 $errors = $this->getErrors();
327 326 if(in_array(92, $errors)){
327 + $limit = $this->getFreeLimitForPostType($filterSetFields['post_type'] ?? '');
328 328 flrt_refresh_temp_transient(
329 329 'wpc_auto_filters_error',
330 - $filterFields->getErrorMessage(92)
330 + $filterFields->getErrorMessage(92, $limit)
331 331 );
332 332 }
333 333 continue;
334 334 }
@@ -377,9 +377,8 @@
377 377
378 378 $filterFields = parent::getFilterFieldService();
379 379 $saveFiltersTrigger = true;
380 380 $allFiltersValid = true;
381 - $filterLinks = get_option('wpc_filter_permalinks', []);
382 381
383 382 // Save filter fields
384 383 if (!empty($filterSets[$post->post_excerpt]['wpc_filter_fields'])) {
385 384 $postData['wpc_filter_fields'] = $filterSets[$post->post_excerpt]['wpc_filter_fields'];
@@ -422,18 +421,15 @@
422 421 $old_new_ids = [];
423 422
424 423 foreach ($filtersToSave as $filterId => $filter) {
425 424 // save filter
425 + // saveFilter() runs the wpc_pre_save_filter hook, where
426 + // PermalinksTab::maybeAddGlobalPrefix() forces the slug to the
427 + // global prefix of this entity or registers a new one in
428 + // wpc_filter_permalinks — nothing else must touch that registry
429 + // here (a stale copy written back afterwards used to wipe the
430 + // freshly registered prefixes and leave a junk '#' entry).
426 431 $saved_filter = $filterFields->saveFilter($filter);
427 - $link_filter = $saved_filter;
428 - $link_filter['post_content'] = maybe_serialize($link_filter['post_content']);
429 - $entity = $link_filter['post_content']['entity'];
430 - $taxonomy = $link_filter['post_content']['e_name'];
431 - if (!empty($filterLinks[$entity . "#" . $taxonomy])) {
432 - $filterField['post_name'] = $filterLinks[$entity . "#" . $taxonomy];
433 - } else {
434 - $filterLinks[$entity . "#" . $taxonomy] = $filterField['post_name'];
435 - }
436 432
437 433 if (isset($saved_filter['parent_filter']) && isset($saved_filter['ID'])) {
438 434 if (strpos($saved_filter['parent_filter'], 'filter_', 0) !== false) {
439 435 $update_after_save[$saved_filter['ID']][] = [
@@ -444,9 +440,8 @@
444 440 $old_new_ids[$filterId] = $saved_filter['ID'];
445 441 }
446 442 }
447 443
448 - update_option('wpc_filter_permalinks', $filterLinks);
449 444 // Update data after saving Filters and getting IDs of new ones.
450 445 if (!empty($update_after_save)) {
451 446
452 447 foreach ($update_after_save as $filter_post_id => $fields_to_update) {