• Resolvido gustamociaro

    (@gustamociaro)


    Olá

    Criei um post type personalizado, e uma das opções que uso nele são as categorias padrão.

    Só que na administração, quando clico no nome do Post Type, ele exibe a listagem de posts, só que não exibe a categoria, como mostra nos posts normais mesmo.

    Tem como personalizar isso para exibir o nome da categoria?

    Valeu!

Visualizando 14 respostas - 1 até 14 (de um total de 14)
  • Note que post personalizado não têm categoria, o que podem ter é taxonomia, então você precisa procurar por formas de obter a taxonomia do post personalizado.

    Eu utilizo 'taxonomies' => array( 'category', 'post_tag', 'wo_plataforma' ),

    em minha função register_post_type, sendo que wo_plataforma é uma taxonimia personalizada e category e post_tag são as categorias e tags normais usadas nos posts normais.

    Pelo menos aqui nunca ficou sem aparecer as tags e categorias como de costume.

    A única coisa que muda é, se não for atribuida uma categoria ao post personalizado a categoria padrão não é atribuida a ele automaticamente como acontece com o post normal, fora isso todo os outros funcionamentos dentro e fora do painel admin são os mesmos.

    Criador do tópico gustamociaro

    (@gustamociaro)

    Postei duas imagens para mostrar como está por aqui.

    Tela com a listagem e opções de exibição:
    http://twitpic.com/7n2ppw/full

    Tela de edição do meu Post Type:
    http://twitpic.com/7n2rjg/full
    Reparem que tem categorias ali. Elas são as mesmas que aparecem no menu POSTS.

    (borrei algumas infos pois são dados da empresa)

    Estou usando o plugin Easy Post Types.

    Dei uma olhada e o plugin não cria um functions.php, então não tenho como altera-lo.

    Se tiverem alguma idéia de como alterar isso, eu agradeço.

    Postando em partes para ver se dessa vez vai a minha resposta
    Não sou muito fã de criar posts type com plugin, porque se vc remove o plugin os posts type somem, mesmo os posts ainda existindo no banco de dados.

    No seu caso piorou ainda mais, porque nem pode personalizar completamente a sua vontade.

    Opções 1
    =============================
    O plugin custom-post-type-ui além de criar os post type ele gera o código que vc pode copiar e colar no function.php do tema.
    Depois de colar o código é só deletar o post type criado na administração do plugin e desativar ele.

    Dai vc pode personalizar o código como bem quiser.

    Mensagem de teste.
    apesar de não ter código algum na minha postagem partes da minha mensagem não está sendo enviada

    Opção 2
    ==========================
    É criar o código com o site
    gerador de post type
    ele tem um formulário que vc configura e depois ele gera o código pra vc copiar também em seu function.

    Use uma dessas opções e adicione mais o código que lhe passei anteriormente que não deve lhe trazer mais este problema.

    ================================
    Não se preocupe com os posts já criados com esse modelo tips, se vc criar um novo post type com o mesmo nome e desativar os plugins, os posts ainda estarão no banco de dados e vc poderá usar normalmente.

    Mas precisa ser criado um post type com o mesmo nome ou vc perderá todos os posts que já criou.

    [http://] [themergency] [com] [generators]

    esse foi a única forma que o link foi, tente formular o link adicionando o que está faltando, este link é do gerador de post_type

    Pelo amor de deus gente, vamos manter o WordPress atualizado? Já, já a versão 3.3 vai sair e tenho visto as pessoas usarem WordPress do tempo do “epa”.

    Criador do tópico gustamociaro

    (@gustamociaro)

    Valeu @myst1010, vou fazer da forma que você sugeriu. Acredito que vai resolver por aqui.

    ótima dica Myst1010.

    Aproveitando a ideia de criar uma área especifica p/ um conteúdo especifico, minha dúvida é: Como faço busca no conteúdo especifico no front-end?

    kraudio é só usar loops personalizados usando o parâmetro post_type, podem ser WP_query ou query_posts.

    Também pode ser usado em páginas modelo da mesma forma.

    Para que os posts que vc criar sejam vistos nas páginas arquivos, categoria, tag, busca vc deve personalizar uma função semelhante a esta

    /*
    *	Permite que os posts personalizados sejam listados nas páginas de arquivos
    *	category.php / tag.php / archive.php etc...
    */
    function show_post_type_templates( $query ) {
    	if ( $query->is_category || $query->is_tag ) {
    		$query->set( 'post_type', array( 'post', 'wo_review', 'wo_preview', 'wo_galeria', 'wo_game' )  );
    	}
    	return $query;
    }
    add_filter( 'pre_get_posts', 'show_post_type_templates' );

    Neste exemplo estou adicionando os novos e o velho modelo de post para as páginas categoria e tag que por padrão não irá listar este tipo de post.

    Só fique atento ao $query->is_category, pois no %query-> vc pode se confundir e colocar is_category() e isso gera problema nos menus personalizados.

    Diana

    Criei um post type chamado Produto e criei taxonomias para ele, no entanto quando coloco o link no menu para mostrar os posts, ele nao chama o arquivo.

    Meu functions:

    /**
     * Adicionamos uma acção no inicio do carregamento do WordPress
     * através da função add_action( 'init' )
     */
    add_action( 'init', 'create_post_type_produto' );
    /**
     * Esta é a função que é chamada pelo add_action()
     */
    function create_post_type_produto() {
        /**
         * Labels customizados para o tipo de post
         *
         */
        $labels = array(
    	    'name' => _x('Produtos', 'post type general name'),
    	    'singular_name' => _x('Produto', 'post type singular name'),
    	    'add_new' => _x('Adicionar Novo', 'produto'),
    	    'add_new_item' => __('Adicionar novo Produto'),
    	    'edit_item' => __('Editar Produto'),
    	    'new_item' => __('Novo Produto'),
    	    'all_items' => __('Todos os Produtos'),
    	    'view_item' => __('Ver Produto'),
    	    'search_items' => __('Produrar Produtos'),
    	    'not_found' =>  __('Nenhum produto Encontrado'),
    	    'not_found_in_trash' => __('Nenhum produto encontrado na Lixeira'),
    	    'parent_item_colon' => '',
    	    'menu_name' => 'Produtos'
        );
    
        /**
         * Registamos o tipo de post  produto através desta função
         * passando-lhe os labels e parâmetros de controlo.
         */
        register_post_type( 'produto', array(
    	    'labels' => $labels,
    	    'public' => true,
    	    'publicly_queryable' => true,
    	    'show_ui' => true,
    	    'show_in_menu' => true,
    	    'has_archive' => 'produtos',
    	    'rewrite' => array(
    		 'slug' => 'produtos',
    		 'with_front' => false,
    	    ),
    	    'capability_type' => 'post',
    	    'has_archive' => true,
    	    'hierarchical' => false,
    	    'menu_position' => null,
    	    'supports' => array('title','editor','thumbnail','comments','excerpt','custom-fields', 'revisions', 'trackbacks')
    	    )
        );
    
        /**
         * Registamos a categoria de produtos para o tipo de post  produto*/
    
        register_taxonomy( 'categoria', array( 'produto' ), array(
            'hierarchical' => true,
            'label' => __( 'Categoria de Produto' ),
            'labels' => array( // Labels customizadas
    	    'name' => _x( 'Categorias', 'taxonomy general name' ),
    	    'singular_name' => _x( 'Categoria', 'taxonomy singular name' ),
    	    'search_items' =>  __( 'Procurar Categorias' ),
    	    'all_items' => __( 'Todas as Categorias' ),
    	    'parent_item' => __( 'Categoria Relacionada' ),
    	    'parent_item_colon' => __( 'Categoria Relacionada:' ),
    	    'edit_item' => __( 'Editar Categoria' ),
    	    'update_item' => __( 'Atualizar Categoria' ),
    	    'add_new_item' => __( 'Nova Categoria' ),
    	    'new_item_name' => __( 'Nova Categoria' ),
    	    'menu_name' => __( 'Categoria' ),
    	),
            'show_ui' => true,
            'show_in_tag_cloud' => true,
            'query_var' => true,
            'rewrite' => array(
                'slug' => 'produtos/categorias',
                'with_front' => false,
            ),
            )
        );
    
        /**
         * Esta função associa tipos de categorias com tipos de posts.
         * Aqui associamos as tags ao tipo de post  produto.
         */
        register_taxonomy_for_object_type( 'tags', 'produto' );
    
    };

    Criei um arquivo chamado taxonomy-categoria.php que sisplesmente me retorna página não encontrada.

    Se você puder ajudar, como já me ajudou antes, desde já agradeço.

    É criar o código com o site
    gerador de post type
    ele tem um formulário que vc configura e depois ele gera o código pra vc copiar também em seu function.

    Use uma dessas opções e adicione mais o código que lhe passei anteriormente que não deve lhe trazer mais este problema.

Visualizando 14 respostas - 1 até 14 (de um total de 14)
  • O tópico ‘Exibir CATEGORIAS na Admin de Custom Post Types’ está fechado para novas respostas.