diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..2649aa9 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,9 @@ +.github export-ignore +tests export-ignore +.gitattributes export-ignore +.gitignore export-ignore +patchwork.json export-ignore +phpcs.xml export-ignore +phpstan.neon.dist export-ignore +README.md export-ignore + diff --git a/src/Model/PluginFamily.php b/src/Model/PluginFamily.php index d63bee7..b3e616d 100644 --- a/src/Model/PluginFamily.php +++ b/src/Model/PluginFamily.php @@ -6,6 +6,19 @@ * Handles the data to be passed to the frontend. */ class PluginFamily { + + /** + * An array of referrers for wp rocket. + * + * @var array + */ + protected $wp_rocket_referrer = [ + 'imagify-plugin' => 'imagify', + 'seo-by-rank-math' => '', + 'backwpup' => '', + 'uk-cookie-consent' => '', + ]; + /** * Get filtered plugins. * @@ -40,6 +53,7 @@ public function filter_plugins_by_activation( array $plugins, string $main_plugi $plugin_path = $plugin . '.php'; $plugin_slug = dirname( $plugin ); $main_plugin_slug = dirname( $main_plugin ); + $wpr_referrer = 'wp-rocket' !== $main_plugin_slug ? $this->wp_rocket_referrer[ $main_plugin_slug ] : ''; /** * Check for activated plugins and pop them out of the array @@ -96,10 +110,14 @@ public function filter_plugins_by_activation( array $plugins, string $main_plugi // Create unique CTA data for WP Rocket. if ( 'wp-rocket/wp-rocket' === $plugin ) { + $url = 'https://wp-rocket.me/?utm_source=' . $wpr_referrer . '-coupon&utm_medium=plugin&utm_campaign=' . $wpr_referrer; + $plugins[ $cat ]['plugins'][ $plugin ]['cta'] = [ 'text' => 'Get it Now', - 'url' => 'https://wp-rocket.me/?utm_source=imagify-coupon&utm_medium=plugin&utm_campaign=imagify', + 'url' => $url, ]; + + $plugins[ $cat ]['plugins'][ $plugin ]['link'] = $url; } // Set activation text. diff --git a/src/Model/wp_media_plugins.php b/src/Model/wp_media_plugins.php index 46bf8ef..0432334 100644 --- a/src/Model/wp_media_plugins.php +++ b/src/Model/wp_media_plugins.php @@ -14,7 +14,7 @@ ], 'title' => 'Speed Up Your Website, Instantly', 'desc' => 'WP Rocket is the easiest way to make your WordPress website faster and boost your Google PageSpeed score. Get more traffic, better engagement, and higher conversions effortlessly.', - 'link' => 'https://wp-rocket.me/?utm_source=imagify-coupon&utm_medium=plugin&utm_campaign=imagify', + 'link' => '', ], 'imagify-plugin/imagify' => [ 'logo' => [ diff --git a/tests/Fixtures/src/Model/PluginFamily/filterPluginsByActivation.php b/tests/Fixtures/src/Model/PluginFamily/filterPluginsByActivation.php index a2253d7..f37df58 100644 --- a/tests/Fixtures/src/Model/PluginFamily/filterPluginsByActivation.php +++ b/tests/Fixtures/src/Model/PluginFamily/filterPluginsByActivation.php @@ -196,7 +196,7 @@ ], 'title' => 'Speed Up Your Website, Instantly', 'desc' => 'WP Rocket is the easiest way to make your WordPress website faster and boost your Google PageSpeed score. Get more traffic, better engagement, and higher conversions effortlessly.', - 'link' => 'https://wp-rocket.me/?utm_source=imagify-coupon&utm_medium=plugin&utm_campaign=imagify', + 'link' => 'https://wp-rocket.me/?utm_source=-coupon&utm_medium=plugin&utm_campaign=', 'cta' => [ 'text' => 'Activate', 'url' => 'http://example.org/wp-admin/admin-post.php?action=plugin_family_install_wp-rocket&_wpnonce=9a68f00b8d&plugin_to_install=wp-rocket%2Fwp-rocket' @@ -251,10 +251,10 @@ ], 'title' => 'Speed Up Your Website, Instantly', 'desc' => 'WP Rocket is the easiest way to make your WordPress website faster and boost your Google PageSpeed score. Get more traffic, better engagement, and higher conversions effortlessly.', - 'link' => 'https://wp-rocket.me/?utm_source=imagify-coupon&utm_medium=plugin&utm_campaign=imagify', + 'link' => 'https://wp-rocket.me/?utm_source=-coupon&utm_medium=plugin&utm_campaign=', 'cta' => [ 'text' => 'Get it Now', - 'url' => 'https://wp-rocket.me/?utm_source=imagify-coupon&utm_medium=plugin&utm_campaign=imagify' + 'url' => 'https://wp-rocket.me/?utm_source=-coupon&utm_medium=plugin&utm_campaign=' ], ], 'imagify-plugin/imagify' => [