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.