• Resolvido taynanps

    (@taynanps)


    Bom dia comunidade,

    Estou trabalhando com a api do woocommerce e extraindo dados dos produtos que estão cadastrados, mas ele não retorna todos os dados.
    Tenho um plugin que gerencia vendedores e gostaria que a consulta aos produtos me retornasse o nome do author do produto.

Visualizando 7 respostas - 16 até 22 (de um total de 22)
  • Criador do tópico taynanps

    (@taynanps)

    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

    Criador do tópico taynanps

    (@taynanps)

    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.

    Criador do tópico taynanps

    (@taynanps)

    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.
    Criador do tópico taynanps

    (@taynanps)

    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.
Visualizando 7 respostas - 16 até 22 (de um total de 22)
  • O tópico ‘Consultar autor do produto – Woocommerce API’ está fechado para novas respostas.