web-dev-qa-db-fra.com

Changer les valeurs globales des modèles

J'essaie de rechercher une variable php dans chacun de mes modèles afin de lui attribuer un style différent, mais la valeur semble disparaître. Pouvez-vous m'aider, j'ai déjà passé des heures à essayer de comprendre cela. Je sais qu'il me manque quelque chose.

Alors voici tout:

J'ai une page a qui relie à b et passe une valeur dans l'URI sous www.b.com/?value=h

maintenant, le fichier b reçoit la valeur et remplace la valeur de la variable globale par celle transmise dans l'URI, puis redirige vers la page.

C'est le code dans mon fichier b:

$server = $_SERVER["REQUEST_URI"]; $valuePos = stripos($server, "=");

$nodes = substr($server, ($valuePos + 1)); $endPos = stripos($server, "e"); $gender = substr($server, ($valuePos + 1), ($endPos));

$valuePos = stripos($nodes, "-");

$redirecturl = substr($nodes, ($valuePos + 1));

header( 'Location: '.$redirecturl );

$ gender est la variable globale que j'ai déclarée dans function.php, j'ai défini sa valeur par défaut sur neutre.

Désormais, lorsque j'essaie d'accéder à $ gender depuis un autre modèle, il affiche simplement la valeur par défaut (neutre). S'il vous plaît aider

2
rodrigue

Je pense que vous pourriez simplifier une grande partie de ce que vous faites en utilisant simplement la variable globale $_SESSION.

essayez quelque chose comme ça:

add_action('wp_head', 'your_session_variable' );

function your_session_variable(){
    session_start();
    $gender = isset($_GET['gender']) ? $_GET['gender'] : $_SESSION['gender'];
    $_SESSION['gender'] = $gender;
}

Maintenant, pour accéder à la variable de session à partir du modèle, assurez-vous de use session_start() avant d'extraire la valeur de $_SESSION['gender']

0
Douglas.Sesar