¿Cómo aprovecharía las taxonomías personalizadas en este escenario?

3

Investigación de 2 niveles:

Estoy construyendo un sitio para un cliente que se especializa en viajes de investigación. Ofrecen 2 niveles de asistencia de investigación, "Estándar" y "Premium". Cada uno de esos niveles de servicio tiene variaciones de ocupación, como Individual o Doble. Aunque estas características comparten nombres y otros atributos, son específicas en el precio por viaje.

Tipo de publicación personalizada sin taxonomía

He creado un tipo de publicación personalizada para " Trip " y Trip tiene tipos de publicaciones secundarias llamadas " Packages ". No estoy buscando una solución mágica para resolverlo todo; No me importa (ni tampoco lo hace el usuario) agregar cada combinación como un elemento de línea.

Puedo crear Trip sy Package s de esta manera y relacionarlos adecuadamente. Sin embargo, fuera de la caja (sin usar taxonomía), las URL son algo como esto:

  • http://exmple.com/trips/fall-2012/ - esto muestra los detalles del viaje. Tengo una plantilla de contenido personalizada para mostrar sus paquetes secundarios definidos anteriormente en consecuencia.
  • http://exmple.com/packages/ : enumera TODOS los paquetes que he creado para todos mis viajes. Los paquetes con el mismo nombre (es decir, registro único) terminan como /packages/single-registration-2/ y /single-registration-3/

Las combinaciones necesarias

Esto no es útil porque no estoy interesado en ver las 8 combinaciones diferentes de paquetes. Una combinación sería:

  • trip - service level - occupancy

Ejemplos

Lo que realmente me gustaría ver es:

  • http://exmple.com/trips/ : esto mostraría todos los viajes de nivel superior, como Otoño 2012, Primavera 2013, Otoño 2013
  • http://exmple.com/trips/fall-2012/ - esto mostraría todos los paquetes para ese viaje. Todas las combinaciones de nivel de servicio y ocupación. Esto es realmente lo que necesito para ir. Planeo ofrecer una lista de todos los paquetes aquí y permitir que el usuario elija uno.

Hablando de forma lógica, el resto de las URL se verían así (aunque no planeo tener que navegar tan profundamente)

  • http://exmple.com/trips/fall-2012/standard/
  • http://exmple.com/trips/fall-2012/standard/single-occupancy/
  • http://exmple.com/trips/fall-2012/standard/double-occupancy/
  • http://exmple.com/trips/fall-2012/premium/
  • http://exmple.com/trips/fall-2012/premium/single-occupancy/
  • http://exmple.com/trips/fall-2012/premium/double-occupancy/

Realmente espero que tenga algún sentido.

    
pregunta Honus Wagner 19.04.2012 - 16:40

1 respuesta

1

Primero crearía un nuevo tipo de publicación personalizada llamada Viajes. Agrega esto a las funciones de tu tema.php

//trips Custom Post Type
add_action( 'init', 'create_trips_post_type' );
function create_trips_post_type() {
register_post_type( 'trips',
    array(
        'labels' => array(
            'name' => __( 'Trips' ),
            'singular_name' => __( 'Trips' )
        ),
    'public' => true,
    'has_archive' => true, 
    'hierarchical' => true,
    'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'custom-fields', 'excerpt'),
    'rewrite' => array('slug' => 'trips'),
    )
);

}

Luego crearía una nueva taxonomía personalizada llamada 'tripdetails'. Agrega esto a las funciones de tu tema.php

//tripdetails custom taxonomy
function tripdetails_init() {
// create a new taxonomy
register_taxonomy(
    'tripdetails',
    array('trips'),
    array(
        'label' => __( 'Trip Details' ),
        'sort' => true,
        'args' => array( 'orderby' => 'term_order' ),
        'hierarchical' => true,
        'rewrite' => array( 'hierarchical' => true, 'slug' => 'tripdetails' ), 
    )
);
}
add_action( 'init', 'tripdetails_init' );

Luego podrá completar su taxonomía personalizada con los términos y sub-términos que usted elija.

Luego, cuando creas un nuevo 'Viaje' con tu nuevo tipo de publicación personalizada, simplemente puedes etiquetarlo con términos y sub términos de tu nueva taxonomía personalizada.

Terminará con URL como esta (que contendrán una lista de sus 'viajes' que se han etiquetado con los términos apropiados)

enlace

    
respondido por el henrywright 18.10.2012 - 03:06

Lea otras preguntas en las etiquetas