-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Corrige warnings do PHP e aumenta compatibilidade com HPOS #22
base: master
Are you sure you want to change the base?
Conversation
@@ -904,10 +907,11 @@ function set_bundle_products_array( $bundles, $order){ | |||
$total_bundle = 0; | |||
$total_products = 0; | |||
$bundle_products = array(); | |||
$product_type = ''; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Para corrigir o warning, defini a variável $product_type aqui no início da função.
Mas fiquei em dúvida se faz sentido que essa variável seja acessada posteriormente fora do foreach, na linha 979 do meu código, pois neste momento ela sempre terá o valor que adquiriu na última iteração do foreach. Isso não pode ter alguma consequencia indesejada ou não estar funcionando em algum caso?
@@ -992,7 +993,7 @@ function atualizar_status_nota() { | |||
*/ | |||
function metabox_content_woocommernfe_nfe_emitida( $order ) { | |||
|
|||
if (isset($order->ID)){ | |||
if ( ! is_a( $order, 'WC_Order' ) && isset($order->ID) ) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Na versão do WooCommerce que estou usando (9.1.2) este trecho gera um alerta de que não se deve acessar a propriedade ID diretamente.
No meu ambiente de testes, com HPOS ativado e modo de compatibilidade desativado, não consegui reproduzir o caso em que o parâmetro $order não fosse um objeto do tipo WC_Order e que portanto seria necessário fazer uma chamada para wc_get_order().
Pensei que talvez esse trecho do código tenha sido adicionado por uma questão de retrocompatibilidade, então adicionei uma nova condição no if para que ele somente acesse o $order->ID se a variável $order não for da classe WC_Order.
@@ -1105,7 +1106,7 @@ function metabox_content_woocommernfe_nfe_emitida( $order ) { | |||
function metabox_content_woocommernfe_informacoes_adicionais( $order ) { | |||
|
|||
// Vars | |||
if (isset($order->ID)){ | |||
if ( ! is_a( $order, 'WC_Order' ) && isset($order->ID) ) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Na versão do WooCommerce que estou usando (9.1.2) este trecho gera um alerta de que não se deve acessar a propriedade ID diretamente.
No meu ambiente de testes, com HPOS ativado e modo de compatibilidade desativado, não consegui reproduzir o caso em que o parâmetro $order não fosse um objeto do tipo WC_Order e que portanto seria necessário fazer uma chamada para wc_get_order().
Pensei que talvez esse trecho do código tenha sido adicionado por uma questão de retrocompatibilidade, então adicionei uma nova condição no if para que ele somente acesse o $order->ID se a variável $order não for da classe WC_Order.
Este PR corrige trechos do código que estão gerando warnings no PHP 8.2 e também adota os métodos compatíveis com HPOS.