WordPress WP-Ecommerce购物车头部/cookie问题

5

我有一个网站,链接是http://www.taranmarlowjewelry.com。当你第一次进入该网站时,你会发现右上角是空白的,如果你刷新页面,购物车将出现在右上角。

我认为之所以第一次进入该网站时不显示购物车是因为没有设置cookie或其他原因。

如果我删除cookie名称为PHPSESSID且值为fd9lshsp92opvo9aotvoljajj0(每次删除cookie并创建新cookie时值都会更改),则右上角的购物车会再次消失。

这似乎是cookie没有被正确设置……但是我对cookie不太了解。

如何正确设置此cookie?

我不知道在wordpress中设置PHPSESSID的位置,因此找不到其代码……但是这是购物车的代码,不确定是否有用。

<div style="float:right;" class="taranShoppingCart"><?php echo wpsc_shopping_cart(); ?></div>

它输出....

<div class="shoppingcart">
<table style="color:#F69F8E;">
<tfoot>
<tr class="cart-widget-total">
<td class="cart-widget-count" style="text-align:right; padding-right:25px; padding-bottom:5px;" colspan="3">
<a href="?page_id=15">Shopping Bag  6 item(s)</a>
</td>
</tr>
<tr>
<td style="padding-right:15px;">
<a href="?page_id=15">Hello admin</a>
</td>
<td style="padding-right:15px;">
<a href="http://www.taranmarlowjewelry.com/wp-login.php?action=logout&_wpnonce=f26aa87ea3">Logout</a>
</td>
<td>
<div class="live_search_form">
<form class="product_search" action="http://www.taranmarlowjewelry.com/?page_id=14/" method="GET" style="font-size:0px !important;">
<input id="wpsc_search_autocomplete" class="wpsc_product_search wpsc_live_search_embed .wpsc_live_search" style="padding:0px !important; height:25px !important; vertical-align:top;" autocomplete="off" name="product_search">
<script type="text/javascript">
/* <![CDATA[ */
jQuery('#wpsc_search_autocomplete').keypress( function(e){
if ( e.keyCode == 13 ) {
var url = 'http://www.taranmarlowjewelry.com/?page_id=14'+'?product_search='+jQuery(this).val();
url = encodeURI(url);
jQuery(window.location).attr('href', url);
}
});
/* ]]> */
</script>
<input id="button" class="searchBtn" type="submit" value="GO" name="button">
</form>
</div>
</td>
</tr>
</tfoot>
</table>
</div>

任何帮助都将不胜感激,感谢您的时间。
谢谢, J

将其发布在http://wordpress.stackexchange.com/上。 - The Alpha
1个回答

1

我本来想把这个写成评论,但是变得有点长了,所以我们就在这里说吧:

可能发生的情况是当用户第一次访问您的网站时,会初始化会话并创建cookie。然而,由于cookie是随着标头传递的(可能有些不对,但我认为这就是cookie的工作方式),因此直到刷新后才能获取cookie。因此,在第一个请求中,它不存在。

您的代码需要做的是捕获当cookie不存在时,并将存储在cookie中的任何数据传递给触发购物篮显示的任何内容。然后,一旦cookie存在,它就可以读取cookie。

正如我所提到的,我并不完全确定Cookie标头的事情,因此如果有人可以确认Cookie信息何时加载,那将非常有帮助。


我该如何在WordPress中实现这个?有什么想法吗? - user1269625
我会假设您正在使用购物车插件,因此您的选择是寻找一个按您要求工作的不同插件,或者浏览插件代码并找到生成该会话信息的位置并进行修复。 - diggersworld
这个答案看起来非常合理,因为cookie信息不会在第一次传递时发送,但会在第二次传递时发送。如果是这种情况,解决方案就是检查购物车代码。 - Robbie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接