Como ter uma exibição personalizada para as páginas de arquivo e categoria de produto do woocommerce?

Tão longe

Oi, entendo, minha pergunta está intimamente relacionada com uma pergunta comum sobre “woocommerce“.

Eu tenho usado uma variedade de woo hooks, filtros e criando cópias de arquivos de modelo woo originais no meu tema infantil em uma pasta chamada woocommerce /.

Isso está funcionando e eu posso fazer as edições que integram woocommerce em meu tema.

O que estou tentando fazer

O Woocommerce usa archive-product.php para exibir as categorias de produtos. Ele também usa esse modelo para exibir os produtos da categoria.

Gostaria de modelar a página dos produtos de forma muito diferente da página da categoria e criar outro modelo de arquivo que exiba os produtos de uma categoria

Estou pensando que usando uma nova página do modelo products-product.php ou seria minha melhor opção. Estou muito interessado em aprender mais e mais sobre o plug-in, portanto, estou tentando ficar longe de correções rápidas do CSS e aprender a usar os arquivos e ganchos do modelo.

O conselho ou os pontos na direção certa seriam muito apreciados.

Solutions Collecting From Web of "Como ter uma exibição personalizada para as páginas de arquivo e categoria de produto do woocommerce?"

Geralmente, você pode dizer ao WordPress que carregue um modelo diferente. As abordagens mais vistas geralmente fazem uso do template_redirect ou do hook_ template_include . É preferível usar template_include conforme descrito neste artigo . Seguindo um exemplo sobre como abordar isso:

Código:

 // load the woocommerce category archive template add_filter( 'template_include', 'wpse138858_woocommerce_category_archive_template' ); function wpse138858_woocommerce_category_archive_template( $original_template ) { // we're loading the template conditionally, // but only if we're actually on a woocommerce category archive if ( is_product_category() ) { // you've to create the template you want to use here first return get_template_directory().'/woocommerce-category-archive.php'; } else { return $original_template; } } 

Informação adicional:

  • Tags condicionais Woocommerce

Notas:

  • não testado
  • Pode haver uma maneira mais específica de fazer isso com / com woocommerce, dependendo de como eles lidam com o carregamento do modelo. Para isso, você deve ampliar sua pesquisa e / ou mergulhar no código Woocommerce.

Editar:

O que você está procurando – se você quiser fazê-lo da maneira woocommerce – é a function wc_get_template_part() – anteriormente, pre WC 2.1, woocommerce_get_template_part() , agora obsoleta. Eu dei uma resposta sobre como usar o último há algum tempo, você pode fazê-lo para o recém-nomeado – a funcionalidade é a mesma – function em conformidade. A resposta, é claro, diz respeito ao uso direto da function, no seu caso você provavelmente deseja e deve fazer uso do gancho correspondente wc_get_template_part . Com esta informação em mãos, você deve ser capaz de fazer isso de forma rápida.