PluginProbe ʕ •ᴥ•ʔ
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization / 1.12.0
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization v1.12.0
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 / WCML.php
nitropack / classes / Integration / Plugin Last commit date
AdvancedMathCaptcha.php 3 years ago AeliaCurrencySwitcher.php 3 years ago BeaverBuilder.php 4 years ago CF_Helper.php 3 years ago Cloudflare.php 2 years ago CommonHelpers.php 3 years ago CookieNotice.php 4 years ago DownloadManager.php 4 years ago Elementor.php 3 years ago Ezoic.php 4 years ago FusionBuilder.php 4 years ago GeoTargetingWP.php 2 years ago GravityForms.php 2 years ago JetPackNP.php 3 years ago NginxHelper.php 2 years ago RC.php 3 years ago RankMathNP.php 3 years ago RocketNet_Helper.php 4 years ago ShortPixel.php 4 years ago SquirrlySEO.php 3 years ago TheEventsCalendar.php 3 years ago ThriveTheme.php 4 years ago WCML.php 3 years ago WPBakeryNP.php 3 years ago WPCacheHelper.php 3 years ago WPForms.php 3 years ago WPRocket.php 4 years ago Woocommerce.php 4 years ago WoocommerceCacheHandler.php 4 years ago YoastSEO.php 3 years ago
WCML.php
75 lines
1 <?php
2 /**
3 * WCML Class
4 *
5 * @package nitropack
6 */
7
8 namespace NitroPack\Integration\Plugin;
9
10 /**
11 * WCML Class
12 */
13 class WCML {
14 const STAGE = 'late';
15
16 /**
17 * Check if WooCommerce Multilingual is active
18 *
19 * @return bool
20 */
21 public static function isActive() { //phpcs:ignore WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid
22 return is_plugin_active( 'woocommerce-multilingual/wpml-woocommerce.php' );
23 }
24
25 /**
26 * Init function
27 *
28 * @param string $stage Stage.
29 *
30 * @return void
31 */
32 public function init( $stage ) { //phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found
33
34 if ( self::isActive() ) {
35 add_action( 'wcml_switch_currency', array( $this, 'wcml_set_custom_currency_cookie' ) );
36 add_action( 'woocommerce_init', array( $this, 'wcml_set_custom_currency_cookie' ) );
37 add_action( 'woocommerce_init', array( $this, 'wcml_set_custom_language_cookie' ) );
38 }
39 }
40
41 /**
42 * Set custom currency cookie
43 *
44 * @param string $currency Currency code.
45 *
46 * @return void
47 */
48 public function wcml_set_custom_currency_cookie( $currency = false ) {
49 if ( is_admin() && ! ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) {
50 return;
51 }
52 if ( ! empty( $currency ) ) {
53 setcookie( 'np_wc_currency', $currency, time() + 60 * 60 * 24 * 7, '/' );
54 return;
55 }
56 if ( function_exists( 'get_woocommerce_currency' ) ) {
57 setcookie( 'np_wc_currency', get_woocommerce_currency(), time() + 60 * 60 * 24 * 7, '/' );
58 }
59 }
60
61 /**
62 * Set custom language cookie
63 *
64 * @return void
65 */
66 public function wcml_set_custom_language_cookie() {
67 if ( is_admin() && ! ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) {
68 return;
69 }
70
71 $wcCurrencyLanguage = (!is_admin() && isset(WC()->session) && WC()->session->has_session()) ? WC()->session->get("client_currency_language") : 0;
72 setcookie('np_wc_currency_language', $wcCurrencyLanguage, time() + (86400 * 7), "/");
73 }
74 }
75