You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
3.0 KiB
75 lines
3.0 KiB
<?php
|
|
/* Start | Работа с проверкой мультисайтовости и стендов */
|
|
global $site_env;
|
|
$site_env = new SiteEnvironment();
|
|
class SiteEnvironment {
|
|
public string $site_mode;
|
|
public string $site_region;
|
|
public bool $is_gp_test_mode;
|
|
|
|
public function __construct(string $host = null) {
|
|
$map = [
|
|
'cosmopet.ru' => ['mode' => 'production', 'region' => 'ru'],
|
|
'cosmopet.ae' => ['mode' => 'production', 'region' => 'ae'],
|
|
'cosmopet-test-dumb.cp.good-production.xyz' => ['mode' => 'develope', 'region' => 'ru'],
|
|
'cosmopet-test-ru.cp.good-production.xyz' => ['mode' => 'develope', 'region' => 'ru'],
|
|
'cosmopet-test-ae.cp.good-production.xyz' => ['mode' => 'develope', 'region' => 'ae'],
|
|
];
|
|
$host = strtolower($host ?: $_SERVER['SERVER_NAME']);
|
|
$config = $map[$host] ?? ['mode' => 'develope', 'region' => 'unknown'];
|
|
$this->site_mode = $config['mode'];
|
|
$this->site_region = $config['region'];
|
|
$this->is_gp_test_mode = (isset($_GET['gp-test']) && $_GET['gp-test'] == '1') || (is_user_logged_in() && current_user_can('administrator'));
|
|
}
|
|
}
|
|
|
|
add_filter('timber/twig', function (\Twig\Environment $twig) {
|
|
global $site_env;
|
|
$twig->addGlobal('site_env', $site_env);
|
|
$twig->addGlobal('header_scripts', get_field('header_scripts', 'option'));
|
|
return $twig;
|
|
});
|
|
/* End | Работа с проверкой мультисайтовости и стендов */
|
|
|
|
add_filter('woocommerce_currency_symbol', function($currency_symbol, $currency) {
|
|
return $currency === 'AED' ? 'AED' : $currency_symbol;
|
|
}, 10, 2);
|
|
|
|
add_filter('wpseo_canonical', '__return_false');
|
|
add_filter('wpseo_opengraph_url', '__return_false');
|
|
add_filter('wpseo_add_x_default_hreflang', '__return_false');
|
|
add_filter('wpseo_disable_adjacent_rel_links', '__return_true');
|
|
|
|
add_action('wp_head', function() {
|
|
if (!is_admin()) {
|
|
static $canonical_added = false;
|
|
if ($canonical_added) return;
|
|
$canonical_added = true;
|
|
$current_url = strtok(trailingslashit(home_url($_SERVER['REQUEST_URI'])), '?');
|
|
echo '<link rel="canonical" href="' . esc_url($current_url) . '" />' . "\n";
|
|
}
|
|
}, 5);
|
|
|
|
add_action('wp_head', function() {
|
|
global $site_env;
|
|
$show_pixel = false;
|
|
|
|
// Для продакшена
|
|
if ($site_env->site_mode === 'production' && $site_env->site_region === 'ae') {
|
|
$show_pixel = true;
|
|
}
|
|
|
|
// Для тестовых стендов AE
|
|
if ($site_env->site_mode === 'develope' && $site_env->site_region === 'ae') {
|
|
$show_pixel = true;
|
|
}
|
|
|
|
if ($show_pixel && !$site_env->is_gp_test_mode) {
|
|
$context = [
|
|
'pixel_event_type' => 'AddToCart', // или определите логику
|
|
'currency' => get_woocommerce_currency(),
|
|
// добавьте другие переменные при необходимости
|
|
];
|
|
\Timber\Timber::render('templates/head-pixel-functions.twig', $context);
|
|
}
|
|
});
|
|
|