14 de jan. de 2013

Resolvido: Wordpress + WP e-Commerce + Carrinho Vazio no PagSeguro

Estava implementando o módulo do pagseguro com o wordpress e o wp e-commerce e o módulo retornava um warning:

Warning: Invalid argument supplied for foreach() in /home/storage/9/36/ca/bannerscontrol2/public_html/wp-content/plugins/wp-e-commerce/wpsc-merchants/pagseguro.php on line 68


Na linha 68 o código era:    foreach($cart->cart_items as $item) {

Então seguindo orientações de outros usuários de vários fóruns que passaram pelo mesmo problema, alterei o arquivo do pagseguro.php com as informações abaixo mas ainda assim não funcionou.

linha 19, alterada de:
$cart = unserialize($_SESSION['wpsc_cart']);

para:
$cart = $_SESSION['wpsc_cart'];

e ainda assim não funcionou.

Então debugando o código do módulo do pagseguro.php, percebi que a linha 68 não estava recebendo os dados em $cart

Nas variáveis globais tbem não tinha nenhuma referência para $cart, mas tinha para $wpsc_cart

Então fiz o teste de

        foreach($cart->cart_items as $item) {


para

        foreach($wpsc_cart->cart_items as $item) {


e deu gol!



Os testes foram feitos com sucesso usando:

wordpress 3.5
wp e-commerce 3.8.9.5
pagseguro wp-e-commerce_v3.2.4.zip
recomendado pela página
http://pagseguro.vis.../wp-e-commerce/



Espero que essa dica possa ajudar outras pessoas.