Permalink Structure for Multiple Post Type Archives by Taxonomy

8

Recientemente he estado trabajando en un proyecto avanzado de WordPress, y estoy atascado con el cambio de la estructura de enlaces permanentes para los tipos de publicaciones personalizadas.

He creado 3 tipos de publicaciones, digamos: tipo1, tipo2, tipo3 y una prueba de taxonomía registrada para todos ellos. Tengo 3 términos en la taxonomía personalizada cat1, cat2, cat3

Esto es lo que quiero lograr:

en lugar de acceder a todas las publicaciones de cat by

siteurl / test / cat1

Quiero acceder a cada archivo de tipo de publicación por taxonomía cat como:

siteurl / type1 / cat1

Alex2452
fuente
¿Qué es la estructura de URL?
amit el
1
Creo que está confundido con el tipo de publicación personalizada y las taxonomías ... pero si proporciona los nombres reales que está utilizando, me ayudará a entenderlo mejor. Por ejemplo, type1 = vehículo, cat1 = type y term1 = car.
chifliiiii
1
Estoy de acuerdo con @chifliiiii en que puede ayudarnos si aclaras exactamente cómo / qué estás intentando organizar. Además, las categorías pueden tener subcategorías que pueden ser más fáciles para formar una jerarquía estructurada.
Chris
Esta publicación puede tener más detalles y dirección para usted: wordpress.stackexchange.com/questions/49141/…
Alex V.

Respuestas:

1

Aquí está parte del código de uno de mis proyectos para configurar una estructura similar para enlaces permanentes (mismo slug base tanto para el tipo de publicación como para los archivos de taxonomía), tenga en cuenta los valores de los parámetros 'has_archive' y 'rewrite' de la publicación tipo y la taxonomía:

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;
}

Luego puede acceder a la categoría 'Documental' del tipo de publicación de película con esta URL:

site.com/movies/documentary/

y 'Película A' de la categoría 'Documental' será:

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

NOTA: Es importante registrar la taxonomía después del tipo de publicación, debido al orden que se generan las reglas de reescritura de enlaces permanentes en WordPress.

Parham
fuente
0

Sin tener términos más específicos que me ayuden a comprender lo que realmente está tratando de organizar, no estoy seguro de estar en el camino correcto, pero ¿este complemento lo ayuda a lograr lo que está tratando de hacer? http://wordpress.org/extend/plugins/cpt-onomies/

En cierto modo, combina títulos de publicaciones de tipo personalizado y taxonomías de una manera extraña (¿y posiblemente útil?) ...

mltsy
fuente