É possível deixar a obrigatoriedade dos campos CPF, Pessoa física condicional?
Exemplo: Para produtos gratuitos onde não vai ter pagamento de fato.
Da forma como o plugin é hoje, não. Precisaria de modificações.
E fazer o mesmo com outros campos como endereço, etc?
Só pra deixar claro, essa pergunta não tem relação direta com esse plugin. Ele foi criado justamente para exibir campos adicionais, não para remover campos.
Mas, respondendo sua pergunta: o WooCommerce só pede um endereço de entrega ao comprador se ele for receber um produto físico. E o endereço de cobrança, você pode remover usando este plugin.
Muito obrigado pela resposta Renato.
Testei o Plugin e realmente ele tira os campos de endereço para produtos digitais do Claudio, iria funcionar perfeitamente se o pagseguro não obrigasse a ter o endereço e outros dados na hora do pagamento.

O Melhor mesmo seria fazer isso somente para pedidos gratuitos.
@osni-passos,
Não é o ideal que você altere plugins diretamente, mas pra resolver de imediato, pode editar naquele plugin em questão este trecho:
protected function has_digital_goods_only() {
return ! ( WC()->cart && WC()->cart->needs_shipping() );
}
por:
protected function has_digital_goods_only() {
return ! ( WC()->cart && WC()->cart->needs_shipping() && ( WC()->cart->total > 0 ) );
}
Isso fará com que os campos sejam exibidos quando precisar de envio ou se houver algum valor a pagar.
(obs: código não testado)
Funcionou.
Só mudei para a forma abaixo pois é uma coisa ou outra no meu caso.
Seria legal colocar isso como opção, pois poderia ser usado junto com o plugin do pagseguro.
Valeu a Ajuda!
return ! ( WC()->cart && WC()->cart->needs_shipping() || ( WC()->cart->total > 0 ) );