O log me retornou esse erro.
https://pste.eu/p/3qGD.html
Moderador
Mário Valney
(@mariovalney)
WordPress Cleric of Fire
Dê uma olhada nesse link: https://goo.gl/E0OFkg
Mário. Consegui da seguinte maneira:
add_filter( 'woocommerce_rest_prepare_product_object', 'custom_products_api_data', 10, 3 );
function custom_products_api_data ( $response, $product, $request ) {
$author_id = $product->post->post_author;
$author_name = get_the_author_meta( 'display_name', $product->post->post_author );
if ( ! empty( $response->data ) && ! empty( $author_name ) ) {
$response->data['author_name'] = $author_name;
$response->data['author_id'] = $author_id;
}
return $response;
}
Agora estou tentando fazer outro filtro onde coloco essas mesma informações. Só que no pedido, onde tenho uma lista dos item do pedido, preciso colocar o autor e o id em cada item.
O filtro seria woocommerce_rest_prepare_order_object certo?
Moderador
Mário Valney
(@mariovalney)
WordPress Cleric of Fire
Provavelmente é esse sim.
Agora o fluxo de quando precisar é sempre esse:
– Acha o hook
– Acha a documentação
– Vê como mudar o valor e retornar o que quer
– Ser feliz
heheh
Abraços
P.S.: caso não tenha mais dúvidas, por favor, marque como Resolvido.
Encontrei um outro filtro Mário, me pareceu mais apropriado e consegui adicionar na resposta já, mas ele não pega o autor do produto(post->post_author;) da maneira que peguei no outro filtro. Me retorna ["autor"]=> NULL
.
Segue o código: https://pastebin.com/raw/vFG9AYyb
-
Esta resposta foi modificada 7 anos, 6 meses atrás por Mário Valney.
Moderador
Mário Valney
(@mariovalney)
WordPress Cleric of Fire
Você está tentando pegar o produto assim:
$product_id = $item['product_id']
Pelo nome da variável não é nem um objeto, ou é?
Imagino que vá precisar pegar o produto pelo ID, já que tem só o product_id.
-
Esta resposta foi modificada 7 anos, 6 meses atrás por Mário Valney.
Consegui assim:
$product_id = $item['product_id'];
$post_author_id = get_post_field( 'post_author', $product_id );
$author_name = get_the_author_meta( 'display_name', $post_author_id );
-
Esta resposta foi modificada 7 anos, 6 meses atrás por Mário Valney.