PluginProbe ʕ •ᴥ•ʔ
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization / 1.19.6
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization v1.19.6
1.19.8 1.19.7 1.19.6 1.19.5 trunk 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.12.0 1.13.0 1.14.0 1.15.0 1.15.1 1.15.2 1.15.3 1.16.0 1.16.1 1.16.2 1.16.3 1.16.4 1.16.5 1.16.6 1.16.7 1.16.8 1.17.0 1.17.6 1.17.7 1.17.8 1.17.9 1.18.0 1.18.1 1.18.2 1.18.3 1.18.4 1.18.5 1.18.6 1.18.7 1.18.8 1.18.9 1.19.0 1.19.1 1.19.2 1.19.3 1.19.4 1.3.19 1.3.20 1.4.0 1.4.1 1.5.0 1.5.1 1.5.10 1.5.11 1.5.12 1.5.13 1.5.14 1.5.15 1.5.16 1.5.17 1.5.18 1.5.19 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.7.0 1.7.1 1.8.0 1.8.1 1.8.3 1.9.0 1.9.1 1.9.2
nitropack / classes / Integration / Plugin / ACF.php
nitropack / classes / Integration / Plugin Last commit date
ACF.php 2 weeks ago AdvancedMathCaptcha.php 1 month ago AeliaCurrencySwitcher.php 11 months ago BeaverBuilder.php 1 year ago CF_Helper.php 5 months ago CURCY_MultiCurrency.php 1 year ago Cloudflare.php 5 months ago CommonHelpers.php 1 year ago CookieNotice.php 1 year ago DownloadManager.php 1 year ago Elementor.php 5 months ago Ezoic.php 1 year ago FusionBuilder.php 1 year ago GeoTargetingWP.php 1 year ago GravityForms.php 1 month ago JetPackNP.php 1 year ago MPG.php 11 months ago NginxHelper.php 1 year ago RC.php 11 months ago RankMathNP.php 1 year ago ShortPixel.php 1 year ago SquirrlySEO.php 1 year ago TheEventsCalendar.php 1 month ago ThriveTheme.php 1 year ago WCML.php 1 year ago WPBakeryNP.php 1 year ago WPCacheHelper.php 1 year ago WPForms.php 1 year ago WPML.php 2 weeks ago WPRocket.php 1 year ago WooCommerce.php 2 weeks ago WoocommerceCacheHandler.php 1 year ago YoastSEO.php 1 year ago
ACF.php
52 lines
1 <?php
2
3 namespace NitroPack\Integration\Plugin;
4 use NitroPack\WordPress\Settings\CPTOptimization;
5 class ACF {
6 const STAGE = "late";
7
8 public static function isActive() {
9 return class_exists(\ACF::class);
10 }
11
12 public function init($stage) {
13 if (!self::isActive()) return;
14
15 /* By using 5 priority the function is called before the ACF save_post action, 10 is after */
16 add_action('acf/save_post', [$this, 'invalidate_post_due_to_acf_change'], 5);
17
18 }
19
20 public function invalidate_post_due_to_acf_change($post_id) {
21 if (!get_option("nitropack-autoCachePurge", 1)) return;
22
23 $allowed_cpts = get_option('nitropack-cacheableObjectTypes');
24 //refresh option if not set when activating already connected NitroPack
25 if (!$allowed_cpts || !is_array($allowed_cpts)) update_option("nitropack-cacheableObjectTypes", CPTOptimization::getInstance()->nitropack_get_default_cacheable_object_types());
26
27 if (!in_array(get_post_type($post_id), $allowed_cpts)) return;
28
29 //acf update check
30 if (!isset($_POST['acf'])) return;
31
32 //get old meta
33 $metaBefore = [];
34 $field_objects = get_field_objects($post_id, false);
35 foreach ($field_objects as $field_object) {
36 $metaBefore[$field_object['key']] = $field_object['value'];
37 }
38 // Get submitted new values.
39 $metaAfter = $_POST['acf'];
40
41 //comapre meta before and after and update
42 $metaIsEqual = nitropack_compare_posts($metaAfter, $metaBefore);
43 if (!$metaIsEqual) {
44 $post = get_post($post_id);
45 if ($post->post_status === 'publish' && !defined('NITROPACK_PURGE_CACHE')) {
46 nitropack_clean_post_cache($post, null, true, sprintf("Invalidate related pages due to modifying ACF fields in %s '%s'", $post->post_type, $post->post_title));
47 define('NITROPACK_PURGE_CACHE', true);
48 }
49 }
50 }
51 }
52