Suporte » Temas » Página category.php para custom post type

  • sara-vieira

    (@sara-vieira)


    Olá pessoal, é a primeira vez que vou usar o fórum, então se o assunto da minha dúvida não for desse fórum, por favor me avisem.

    Minha dúvida é a seguinte: estou desenvolvendo um tema, onde terá um custom post type chamado “Portfolio” e uma Taxonomia chamada “Tipos”.

    Eu quero que no site, ao selecionar uma categoria, apareçam todos os posts cadastrados nessa categoria.

    Eu tenho o arquivo category.php, porém quando eu clico em alguma categoria a página que abre é a 404.php.

    Qual pode ser o problema?

    Obrigada

Visualizando 6 respostas - 1 até 6 (de um total de 6)
  • renato_s

    (@renato_s)

    Quando vc diz categoria, vc quer dizer a taxonomia “Tipos”, certo? Pode ser um problema de links permanentes. Tive um problema parecido. No meu caso, só consegui resolver mudando uma configuração da taxonomia na hora em que ela é definida (no functions.php, provavelmente):

    'rewrite' =>false

    Quando a taxonomia é criada, são definidos vários parâmetros. Adicione esse, ou mude de “true” para “false” se ele já existir.

    Depois, modifique os permalinks para default e salve. Depois volte para seu padrão original e salve de novo (só para resetar).

    Veja se resolveu.

    Criador do tópico sara-vieira

    (@sara-vieira)

    Oi Renato, vou postar o código aqui para você ver como está:

    add_action( ‘init’, ‘create_post_type_portfolio’ );

    function create_post_type_portfolio() {

    $labels = array(
    ‘name’ => _x(‘Portfolio’, ‘post type general name’),
    ‘singular_name’ => _x(‘Portfolio’, ‘post type singular name’),
    ‘add_new’ => _x(‘Add New’, ‘portfolio’),
    ‘add_new_item’ => __(‘Add New Portfolio’),
    ‘edit_item’ => __(‘Edit Portfolio’),
    ‘new_item’ => __(‘New Portfolio’),
    ‘all_items’ => __(‘All Portfolio’),
    ‘view_item’ => __(‘View Portfolio’),
    ‘search_items’ => __(‘Search Portfolio’),
    ‘not_found’ => __(‘No Portfolio found’),
    ‘not_found_in_trash’ => __(‘No Portfolio found in Trash’),
    ‘parent_item_colon’ => ”,
    ‘menu_name’ => ‘Portfolio’
    );

    register_post_type( ‘portfolio’, array(
    ‘labels’ => $labels,
    ‘public’ => true,
    ‘publicly_queryable’ => true,
    ‘show_ui’ => true,
    ‘show_in_menu’ => true,
    ‘has_archive’ => ‘portfolio’,
    ‘rewrite’ => array(
    ‘slug’ => ‘portfolio’,
    ‘with_front’ => false,
    ),
    ‘capability_type’ => ‘post’,
    ‘has_archive’ => true,
    ‘hierarchical’ => false,
    ‘menu_position’ => null,
    ‘supports’ => array(‘title’,’editor’,’author’,’thumbnail’,’excerpt’,’comments’)
    )
    );

    register_taxonomy( ‘tipo’, array( ‘portfolio’ ), array(
    ‘hierarchical’ => true,
    ‘label’ => __( ‘Tipo’ ),
    ‘labels’ => array(
    ‘name’ => _x( ‘Tipos’, ‘taxonomy general name’ ),
    ‘singular_name’ => _x( ‘Tipo’, ‘taxonomy singular name’ ),
    ‘search_items’ => __( ‘Search Tipos’ ),
    ‘all_items’ => __( ‘All Tipos’ ),
    ‘parent_item’ => __( ‘Parent Tipo’ ),
    ‘parent_item_colon’ => __( ‘Parent Tipo:’ ),
    ‘edit_item’ => __( ‘Edit Tipo’ ),
    ‘update_item’ => __( ‘Update Tipo’ ),
    ‘add_new_item’ => __( ‘Add New Tipo’ ),
    ‘new_item_name’ => __( ‘New Tipo Name’ ),
    ‘menu_name’ => __( ‘Tipo’ ),
    ),
    ‘show_ui’ => true,
    ‘show_in_tag_cloud’ => true,
    ‘query_var’ => true,
    ‘rewrite’ => array(
    ‘slug’ => ‘portfolio/tipos’,
    ‘with_front’ => false,
    ),
    )
    );

    register_taxonomy_for_object_type( ‘tags’, ‘portfolio’ );

    }

    No rewrite foi definido um array para controlar a URL. Acredito que o problema esteja aí, mas não sei como resolver.

    renato_s

    (@renato_s)

    Tenta trocar:

    'rewrite' => array(
    'slug' => 'portfolio/tipos',
    'with_front' => false,
    ),

    Por:
    'rewrite' => false

    Depois “resete” os permalinks e veja se funciona.

    Criador do tópico sara-vieira

    (@sara-vieira)

    Dessa forma funcionou.

    Só a URL que ficou estranha:

    http://localhost/wordpress/?tipo=ilustracao

    Eu queria que ficasse:

    http://localhost/wordpress/portfolio/tipo/ilustracao

    Tem alguma outra forma de fazer a URL ficar dessa forma?

    renato_s

    (@renato_s)

    Pois é, esse é o problema. Não consegui resolver no meu caso, mas acho que teria como resolver mexendo com htaccess, configurações de servidor, etc. Vc pode talvez perguntar para o suporte técnico da hospedagem.

    Criador do tópico sara-vieira

    (@sara-vieira)

    Ok, obrigada Renato.

Visualizando 6 respostas - 1 até 6 (de um total de 6)
  • O tópico ‘Página category.php para custom post type’ está fechado para novas respostas.