Поддержка Проблемы и решения вставка php функции на страницу.

  • В файле functions.php создал такую функцию:

    
    function testcookie (){
    $utm_source = $_GET['utm_source'];
    if (isset($_GET['utm_source'])){
    $_SESSION['utm_source'] = $_GET['utm_source'];
    $utm_source = $_GET['utm_source'];
    setcookie("utm_source", $utm_source, time()+60*60*24*50);
    }
    
    if (isset($_GET['utm_medium'])){
    $_SESSION['utm_medium'] = $_GET['utm_medium'];
    }
    };

    Как ее вызвать на главной и других страницах сайта?

    • Тема изменена 4 года, 2 месяца назад пользователем baskos.

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Модератор Denis Yanchevskiy

    (@denisco)

    WordPress-разработчик, denisco.pro

    Добавить после Вашего кода её вызов? testcookie();

    Добавить вызов с любой страницы. Что бы было видно откуда пользователь. Как ее вызвать например на главной?

    Модератор Denis Yanchevskiy

    (@denisco)

    WordPress-разработчик, denisco.pro

    Думаю, стоит попробовать так:

    if( is_front_page() ) {
        testcookie();
    }

    Добрый день!
    Попробуйте вызвать через хук (например, init). Если вы хотите проверять метку на всех страницах, проще сделать вызов один раз прямо из functions.php:

    function testcookie() {
        // ...
    }
    add_action( 'init', 'testcookie' );

    Желательно, исключив её из админки:

    if ( ! is_admin() ) {
        ...
    }

    Если нужно более гибкое управление, вызывайте хук из каждого шаблона отдельно.

    Суть хука в том, чтобы установка куки происходила вовремя, до начала вывода любой html разетки. (Иначе можно столкнуться с предупреждением «Headers already sent», в зависимости от того, в какой части шаблона происходит вывод и что вызывается раньше).

    Успехов!

    • Ответ изменён 4 года, 2 месяца назад пользователем Norske.

    А для извличения куки тоже писать фунцию? Или достаточно просто сделать так:

           $utm_source = $_SESSION["1"];
    	$utm_medium = $_SESSION["2"];
    	$utm_campaign = $_SESSION["3"];
    	$utm_term = $_SESSION["4"];
    	$utm_content = $_SESSION["5"];
    • Ответ изменён 4 года, 2 месяца назад пользователем baskos.

    Все разобрался. Всем спасибо.

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Тема «вставка php функции на страницу.» закрыта для новых ответов.