Taxonomia personalizada ou modelos de página personalizados?

Estou tentando decidir se seria mais apropriado criar duas novas taxonomias personalizadas ou se os modelos de página personalizados fossem mais fáceis. Aqui está o cenário:

  • Tenho 2 tipos de postagens personalizadas: “Cocktail Recipes” e “Distilleries”
  • Eu tenho cerca de 10 termos na taxonomia personalizada “Alcohol Spirits Types” e ambos os tipos de postagem personalizados usam essa taxonomia. É improvável que o número desses termos cresça.
  • Preciso de 3 páginas de arquivo para cada termo Alcohol Spirit Type. Um que exibe resultados de ambos os tipos de postagem personalizada, um que exibe resultados apenas de Cocktail Recipes e um que exibe resultados apenas de Destilarias (por exemplo, Whisky, Whiskey Cocktail Recipes e Whiskey Distilleries).

Devo: 1. Criar duas novas taxonomias personalizadas. Um seria específico para Cocktail Recipes e o outro específico para Distilleries, mas ambos teriam termos idênticos à taxonomia já criada do Alcohol Spirit Types. Eu poderia então usar o template taxonomy-custom_taxonomy_name.php para criar as páginas. Ou … 2. Crie dois modelos de página personalizados (um para Alcohol Spirits in Cocktail Recipes e outro para Alcohol Spirits in Distilleries) e duas páginas para cada Spirit Type (aproximadamente 20 páginas no total).

Para mim, a opção 2 faz mais sentido, porque não estou duplicando termos em três diferentes taxonomias. Além disso, um editor de posts só precisa marcar uma postagem duas vezes. Se o número de termos fosse maior, esta solução seria uma tarefa enorme inicialmente, mas criar apenas 20 páginas parece razoável.

O que você acha? Existe uma maneira mais fácil em que não estou pensando?

Solutions Collecting From Web of "Taxonomia personalizada ou modelos de página personalizados?"

Você poderia fazê-lo de uma forma mais dinâmica, com um simples get var, ou você poderia se complicar e criar algumas regras de reescrita para analisar seus próprios URLs.

Aqui está um método GET var rápido e simples –

Diga que você tenha um termo de taxonomia em:

example.com/alcohol-spirit-type/gin/ 

Isso exibiria posts de ambos os tipos de postagem associados ao termo de taxonomia.

Agora anexe uma variável no final para cada um dos seus tipos de publicação para criar os URLs que você irá filtrar, como:

 // change these to reflect the actual registered names of your post types example.com/alcohol-spirit-type/gin/?my_filter=cocktail-recipe and example.com/alcohol-spirit-type/gin/?my_filter=distillery 

Agora, adicione um pouco de código ao arquivo functions.php do tema para detectar esta variável anexada e ajuste a consulta de acordo:

 function wpa54401_filter_pre_get_posts( $query ) { if ( isset( $_GET['my_filter'] ) ) { $query->set( 'post_type', array( $_GET['my_filter'] ) ); } return $query; } add_filter( 'pre_get_posts', 'wpa54401_filter_pre_get_posts' ); 

Agora, visitar cada um desses URLs deve dar-lhe apenas postagens dentro de cada tipo.

EDITAR-

Aqui está um filtro em taxonomy_template para retornar modelos personalizados para as duas novas visualizações:

 function wpa54401_custom_taxonomy_template( $template ) { if ( isset( $_GET['my_filter'] ) ) { $template = dirname( __FILE__ ) . '/tax-' . $_GET['my_filter'] . '.php'; } return $template; } add_filter( "taxonomy_template", "wpa54401_custom_taxonomy_template" ) ; 

os modelos devem ser chamados de tax-{your post type}.php