carmolim 0 Denunciar post Postado Abril 6, 2015 Olá pessoal, estou começando a estrutura um site para um restaurante, e estou com algumas dúvidas de como estrutura os posts e as categorias. Uma das partes mais importantes do site é a seção do cardápio e gostaria que a URL ficasse com a seguinte estrutura: meusite.com.br/cardapio/temaki/temaki-special nessa estrutura, cardapio seria o Custom Post, temaki seria a categoria e temaki-special o Post Name. Gostaria do seguinte funcionamento baseado em três padrões de URL diferentes: meusite.com.br/cadapio gostaria que mostrasse todos os posts do criados com o Custom Post Type "cardapio". meusite.com.br/cardapio/temaki gostaria que mostrasse dos os posts do Custom Post Type "cardapio", mas filtrando os produtos que tem a categoria "temaki". meusite.com.br/cadapio/temaki/temaki-special gostaria que mostrasse o post aberto do produto temaki-special. Eu já fiz algumas tentativas utilizando o plugin Types e consegui fazer a primeira e a terceira funcionarem mas segunda eu não consegui de nenhuma maneira. Qualquer ajuda é bem vinda! Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
carmolim 0 Denunciar post Postado Abril 7, 2015 Olá pessoal, após pesquisar bastante... e depois de fazer algumas dezenas de testes, cheguei a esse resultado: add_action('init', 'cria_cardapio'); function cria_cardapio() { register_taxonomy ( 'categoria-produto', array(), array ( 'hierarchical' => true, 'labels' => array ( 'name' => _x('Categorias Produtos', 'taxonomy general name'), 'singular_name' => _x('Categoria Produto', 'taxonomy singular name') # And so one ), 'show_ui' => true, 'query_var' => 'categoria-cardapio', 'rewrite' => array( 'slug' => 'cardapio', ), ) ); register_post_type ( 'cardapio', array ( 'labels' => array ( 'name' => _x('Itens Cardápio', 'post type general name'), 'singular_name' => _x('Item Cardápio', 'post type singular name') ), 'supports' => array('title', 'editor', 'thumbnail', 'custom-fields', 'revisions'), 'public' => true, 'rewrite' => array ( 'slug' => 'cardapio/%categoria-produto%', 'with_front' => false ), 'query_var' => 'item-cardapio', 'has_archive' => 'cardapio', 'taxonomies' => array( 'categoria-produto' ), ) ); } add_filter('post_type_link', 'cardapio_permalink', 10, 4); function cardapio_permalink($post_link, $post, $leavename, $sample) { if ( false !== strpos( $post_link, '%categoria-produto%' ) ) { $categoria_produto = get_the_terms( $post->ID, 'categoria-produto' ); $categoria_produto = $categoria_produto[0]->slug; $post_link = str_replace( '%categoria-produto%', $categoria_produto, $post_link ); } return $post_link; } Para chegar aqui utilizei como referência esses links: http://stackoverflow.com/questions/13553932/define-permalinks-for-custom-post-type-by-taxonomy http://wordpress.stackexchange.com/questions/5413/need-help-with-add-rewrite-rule/5478#5478 http://wordpress.stackexchange.com/questions/21022/mixing-custom-post-type-and-taxonomy-rewrite-structures/22490#22490 Ainda preciso fazer alguns testes, mas acredito que a base seja essa. Compartilhar este post Link para o post Compartilhar em outros sites