Suporte » Desenvolvendo com WordPress » load de produtos com Woocommerce

  • Resolvido luizarusso1

    (@luizarusso1)


    Oi!

    To desenvolvendo ema espécie de e-commerce e eu precisava incluir uma action ou filter, ainda não sei qual kk, para que antes de carregar os produtos da loja, houvesse uma checagem se aquele produto foi atribuído ao usuário logado no momento (eu tenho esses dados em uma tabela).

    Alguém saberia se ha algum hook que eu possa utilizar para fazer essa modificação? Nesse caso seria só determinar se o produto será exibido ou não.

    Muito obrigada desde já 🙂

Visualizando 2 respostas - 1 até 2 (de um total de 2)
  • Moderador Felipe Elia

    (@felipeelia)

    Oi @luizarusso1,

    Como é uma tabela diferente das do WP, aparentemente você vai precisar alterar a query SQL principal das páginas do WooCommerce, certo? Se sim, o jeito mais fácil e rápido vai ser usar o filtro posts_clauses_request. Com ele você pode incluir o left join para a sua tabela e também incluir a verificação necessária no where. Não testei, mas isso aqui deve te servir como começo:

    function altera_woo_posts_clauses_request( $clauses, $query ) {
    	if ( ! is_admin() && is_woocommerce() && $query->is_main_query() ) {
    		global $wpdb;
    		$clauses['join']  .= " LEFT JOIN {$wpdb->posts} woo_posts ON ( woo_posts.ID = SUA_TABELA.COLUNA_ID_PRODUTO )";
    		$clauses['where'] .= " AND SUA_TABELA.COLUNA_ID_USUARIO = " . get_current_user_id;
    	}
    	return $clauses;
    }
    add_filter( 'posts_clauses_request', 'altera_woo_posts_clauses_request', 10, 2 );

    Qualquer dúvida é só voltar aqui, se não tiver mais nenhuma não esquece de marcar o tópico como resolvido. Boa sorte!

    Obrigada, Felipe! Vou testar e volto para dar um feedback 🙂

Visualizando 2 respostas - 1 até 2 (de um total de 2)
  • O tópico ‘load de produtos com Woocommerce’ está fechado para novas respostas.