Permalink Estrutura para múltiplos arquivos de tipo de postagem por taxonomia

8

Recentemente, tenho trabalhado em um projeto avançado do WordPress e estou preso à alteração da estrutura do permalink para tipos de postagem personalizados.

Eu criei 3 tipos de post, digamos: type1, type2, type3 e um teste de taxonomia registrado para todos eles. Eu tenho 3 termos na taxonomia personalizada cat1, cat2, cat3

Aqui está o que eu quero alcançar:

em vez de acessar todas as postagens de cat por

site / teste / cat1

Eu quero acessar cada arquivo pós-tipo por taxonomy cat como:

siteurl / type1 / cat1

Alex2452
fonte
o que é estrutura de URL?
Amit
11
Acho que você está confuso com taxonomias e tipo de postagem personalizados ... mas se você fornecer os nomes reais que você está usando, me ajudará a entender melhor. Por exemplo, é type1 = veículo, cat1 = tipo e term1 = carro.
chifliiiii
11
Concordo com @chifliiiii que pode nos ajudar se você esclarecer exatamente como / o que você está tentando organizar. As categorias também podem ter subcategorias, o que pode ser mais fácil para formar uma hierarquia estruturada.
Chris
Este post pode ter mais detalhes e orientações para você: wordpress.stackexchange.com/questions/49141/…
Alex V.

Respostas:

1

Aqui está parte do código de um dos meus projetos para configurar uma estrutura semelhante para links permanentes (a mesma lesma de base para o tipo de postagem e os arquivos de taxonomia), observe os valores dos parâmetros 'has_archive' e 'rewrite' dos posts tipo e taxonomia:

add_action( 'init', 'register_my_post_types' );
function register_my_post_types() {

  register_post_type( 'movie',
    array(
        ....

        'has_archive' => 'movies',
        'rewrite' => array(
            'slug' => 'movies/%mv_category%',
            'with_front' => false
        ),
        'taxonomies' => array(
            'mv_category',
        ),
    )
  );

  register_taxonomy(
    'mv_category',
    array(
        'movie'
    ),
    array(
        ...
        'hierarchical' => true,
        'rewrite' => array(
            'slug' => 'movies',
            'with_front' => false,
            'hierarchical' => false
        )
    )
  );
) // end of create_my_post_types function


add_filter('post_type_link', 'filter_post_type_link', 10, 2);
function filter_post_type_link($link, $post)
{
    if ($post->post_type != 'movie')
        return $link;

    if ($cats = get_the_terms($post->ID, 'mv_category'))
        $link = str_replace('%mv_category%', array_pop($cats)->slug, $link);

    return $link;
}

Em seguida, você pode acessar a categoria 'Documentário' do tipo de postagem de filme com este URL:

site.com/movies/documentary/

e 'Filme A' da categoria 'Documentário' será:

site.com/movies/documentary/movie-a/

NOTA: É importante registrar a taxonomia após o tipo de postagem, pois as regras de reescrita de link permanente do pedido são geradas no WordPress.

Parham
fonte
0

Sem termos mais específicos para me ajudar a entender o que você realmente está tentando organizar, não tenho certeza se estou no caminho certo, mas esse plug-in ajuda você a realizar o que está tentando fazer? http://wordpress.org/extend/plugins/cpt-onomies/

Ele meio que confunde títulos e taxonomias de tipo personalizado de uma maneira estranha (e possivelmente útil?) ...

mltsy
fonte