PHP Не запускается на странице до обновления - PullRequest
0 голосов
/ 16 июня 2020

немного странная проблема, которую я не мог решить в течение нескольких месяцев, поэтому я, наконец, сдался и пришел сюда за ответом. Надеюсь.

У меня есть короткий код, который при запуске возвращает номер телефона в зависимости от того, какая переменная имеет значение. Этот код PHP работает так, как ожидалось, но единственное, что не работает должным образом, - это первая загрузка страницы.

Когда кто-то заходит на сайт впервые (или в режиме инкогнито) шорткод ничего не выводит, однако, обновите sh страницу только один раз, и она отобразит вывод правильного значения, и я не знаю почему.

<?php function gw_cookie($atts) {
    extract(shortcode_atts(array(
        "value" => ''
    ), $atts));

    $getVariable = isset($_GET[$value]) ? $_GET[$value] : '';
    $newGetVariable = str_replace('_', ' ', $getVariable);

    $cookiePhone = isset($_COOKIE[$value]) ? $_COOKIE[$value] : '';

    $acfField = get_field('page_cookie_'.$value.'');
    $optionsACF = get_field('options_company_details', 'options');

    $area = $optionsACF['options_area'];
    $phone = $optionsACF['options_telephone'];

    if(!empty($cookiePhone) && $cookiePhone !== 'undefined') { //If cookie is not empty do the following
        echo '1';
    } elseif(!empty($newGetVariable)) { //If cookie is empty and get variable is not
        echo '2';
    } elseif($acfField) { //If ACF field is not empty do the following
        echo '3';
    } elseif ($value == "phone") {
        return '4';
    }
} add_shortcode("gw-cookie", "gw_cookie");

Этот файл кодов импортируется в файл functions. php, используя следующую строку:

require_once( __DIR__ . '/shortcodes/gw-cookies.php' );

1 Ответ

0 голосов
/ 16 июня 2020

Сам повар ie будет создан при первом запуске, и ваши критерии требуют cookiePhone, поэтому вам нужно обновить sh, чтобы он работал.

Согласно комментариям, измените :

$cookiePhone = isset($_COOKIE[$value]) ? $_COOKIE[$value] : '';

на:

$cookiePhone = isset($_COOKIE[$value]) ? $_COOKIE[$value] : NULL;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...