2016-06-20 6 views
1

Ich möchte Sitzung hinzufügen und Wert davon in WordPress abrufen. Ich verwende Subdomain für meine Website. Ich habe Code in der header.php-Datei eines Themas hinzugefügt, um eine Subdomain wiederherzustellen und sie in Sitzung zu setzen. Ich habe Sitzung begonnen und den Wert darin gesetzt. Wenn ich Subdomain in der URL-Sitzung verwende, retroses den Sitzungswert, aber ohne den Namen der Subdomain, funktioniert das nicht, selbst die Session hat diesen Wert. mein Code sind folgende:Add Sitzung in WordPress

$url = $_SERVER['SERVER_NAME']; 
$parsedUrl = parse_url($url); 
$host = explode('.', $parsedUrl['path']); 
$subdomain = $host[0]; 

$wp_session = WP_Session::get_instance(); 
if(isset($wp_session['user_subdomain'])) 
{ 
?> 
<script>alert('<?php echo "Check first session Set ".$wp_session['user_subdomain']; ?>');</script> 
<?php 
} 
else 
{ 
?> 
<script>alert('<?php echo "Check first session Not Set "; ?>');</script> 
<?php 
} 
if($wp_session['user_subdomain']=="test"){ 
?> 
<script>alert('<?php echo "session ".$wp_session['user_subdomain']; ?>');</script> 
<?php 
$red_url=$wp_session['user_subdomain'].".domain.com"; 
?> 
<script>alert('<?php echo "RED ".$red_url; ?>');</script> 
<?php 
header("location:$red_url"); 
} 
else if($subdomain=="test"){ 
$red_url=$_SERVER['SERVER_NAME']; 
$wp_session['user_subdomain']=$subdomain; 
?> 
<script>alert('<?php echo "get ".$subdomain; ?>');</script> 
<script>alert('<?php echo "check set session ".$wp_session['user_subdomain']; ?>');</script> 
<?php 
header("location:$red_url"); 

} 

Ich habe '_SESSION' in wp_unregister_GLOBALS Funktion hinzugefügt, fand ich es irgendwo auf Google.

Antwort

0

Wir Priorität Sitzung zu setzen geben hinzuzufügen. Der folgende Code funktioniert einwandfrei.

add_action('init', 'myStartSession', 1); 

function myStartSession() { 
    if(!session_id()) { 
     session_start(); 
    } 
} 
0

Sie müssen Sitzungs-ID auch auf Subdomain festlegen.

Versuchen Sie, diese Linie

ini_set('session.cookie_domain', '.example.com'); 

More info

+0

es funktioniert nicht. Ich habe in der Datei header.php hinzugefügt. – vishal

+0

Dank @Divyesh Mein Code funktioniert aber nur für IE. arbeitet nicht an Chrome und Firefox. – vishal

+0

wenn die Seitenaktualisierungsseite den Sitzungswert nicht benachrichtigt. wenn wir session() verwenden; Funktion nur und Sitzung einstellen. Sitzung zerstört beim Laden der Seite. Warum hackt es? – vishal