2017-05-23 7 views
0

so folgte ich diese Daten von Wordpress zu versuchen und außerhalb des Wordpress-Verzeichnis angezeigt werden (nb ich auch das Root-Cookie-Plugin installieren erforderlich):Anzeige WooCommerce Warenkorb insgesamt außerhalb Wordpress

Wie WooCommerce Funktionen nutzen außerhalb

Wordpress

https://wordpress.org/plugins/root-cookie/

Wie dem auch sei, ich versuche den Warenkorb Zählung anzuzeigen, aber halten „0“ erhalten, obwohl der Wagenpositionen hat:

<?php include ($_SERVER['DOCUMENT_ROOT']."/store/wp-load.php")?> 

<?php if (is_user_logged_in()){ 
    echo "Is logged in"; 
} 
else{ 
    echo "Is not"; 
} ?> <Br /> 

<?php 
echo WC()->cart->get_cart_contents_count(); 
?> 

Ausgang:

Is logged in 
0 

Irgendwelche Ideen, was ich falsch mache?

N.B. Die Wordpress API ist hier nicht geeignet. Was Cookies betrifft, benutze ich root cookie, um den Pfad von/store nach/zu ändern, was für Sitzungsdaten gut funktioniert, aber die Woocommerce-Cookies sind immer noch mit dem Pfad/festgefahren.

Antwort

0

Okay, so habe ich es geschafft.

In /wp-content/plugins/woocommerce/includes/wc-core-functions.php, Linie 730, entfernen Sie die COOKIEPATH ? COOKIEPATH :, so dass Sie links mit:

/** 
* Set a cookie - wrapper for setcookie using WP constants. 
* 
* @param string $name Name of the cookie being set. 
* @param string $value Value of the cookie. 
* @param integer $expire Expiry of the cookie. 
* @param string $secure Whether the cookie should be served only over https. 
*/ 
function wc_setcookie($name, $value, $expire = 0, $secure = false) { 
    if (! headers_sent()) { 
     setcookie($name, $value, $expire, '/', COOKIE_DOMAIN, $secure); 
    } elseif (defined('WP_DEBUG') && WP_DEBUG) { 
     headers_sent($file, $line); 
     trigger_error("{$name} cookie cannot be set - headers already sent by {$file} on line {$line}", E_USER_NOTICE); 
    } 
} 
Verwandte Themen