簡體   English   中英

在WordPress上顯示woocommerce購物車總額

[英]Display woocommerce cart total outside Wordpress

因此,我按照此方法嘗試從Wordpress中獲取數據以在wordpress目錄外顯示(nb,我還需要安裝根cookie插件):

如何在Wordpress之外使用woocommerce功能

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

無論如何,我試圖顯示購物車數量,但是即使購物車中有物品,也要保持“ 0”:

<?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();
?>

輸出:

Is logged in 
0

有什么想法我做錯了嗎?

注意,Wordpress API不適合在此處使用。 至於cookie,我正在使用根cookie來將路徑從/ store更改為/,這對於會話數據來說效果很好,但是Woocommerce cookie仍然停留在/路徑上。

好吧,我設法做到了。

在/wp-content/plugins/woocommerce/includes/wc-core-functions.php的第730行中,刪除COOKIEPATH ? COOKIEPATH : COOKIEPATH ? COOKIEPATH : ,這樣您就剩下了:

/**
 * 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 );
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM