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.

16 comentários:

  1. Parabéns e muito obrigado!
    Para mim funcionou nas configs abaixo.
    wordpress 3.5.1
    wp e-commerce 3.8.9.5
    pagseguro wp-e-commerce_v3.2.4.zip

    ResponderExcluir
  2. muuito obrigado. valeu mesmo. Funcionou certinho

    ResponderExcluir
  3. Cara, valeu pela dica. Funcionou perfeitamente!!!

    ResponderExcluir
  4. Obrigado amigo! Vc solucionou um problema que ninguém estava conseguindo. Parabéns!!! ;)

    ResponderExcluir
  5. Prezado André Miani, muito obrigado por compartilhar a solução que achou para este problema. É uma lástima que o pessoal de pagseguro e sistemas similares não dem nenhum suporte para estes tipo de problemas.
    Muito obrigado mesmo, ajudou muito.

    ResponderExcluir
  6. Cara muito obrigado vc salvou minha meu dia srsrsrs

    ResponderExcluir
  7. Você realmente conseguiu o que muitos forums tem postado e ja cheguei a ver gente dizendo que o pagseguro tirou as versoes do modulo pra wordpress kkkkkkkkkkkkk ..... meus parabens!!!!!!!!

    ResponderExcluir
  8. Muito bom! Obrigado.

    Uma pergunta, por acaso você sabe como posso enviar o valor do frete, pois uso um plugin dos correios e ele envia o valor sem o frete escolhido.

    Desde já agradeço.

    ResponderExcluir
  9. MUITO OBRIGADO! Funcionou perfeitamente.

    ResponderExcluir
  10. Também estou com esse problema com frete, ele não manda o valor do frete calculado.

    ResponderExcluir
  11. Ótimo, funcionou legal!!

    ResponderExcluir
  12. Pra quem teve problema com o envio do frete, a mesma alteração nas linhas 30 e 32 resolvem o problema.

    ResponderExcluir
  13. Estou em outra versão do WordPress (versão 3.6), e estou com o mesmo problema como faço para solucionar? Pois com essa resolução não deu certo.

    ResponderExcluir
  14. Este comentário foi removido pelo autor.

    ResponderExcluir
  15. Obrigado mesmo, você salvou o mundo ChuckPress.

    ResponderExcluir