¿Pueden varios tipos de publicaciones personalizadas compartir una taxonomía personalizada?

17

Estoy considerando la posibilidad de reconstruir un sitio de drupal en wordpress y todavía estoy tratando de entender las diferencias entre los sistemas, en particular cck / fields y tipos de contenido personalizados y las diferentes formas de usar taxonomía.

Me gustaría saber si dos tipos de contenido personalizados pueden compartir una taxonomía personalizada. En drupal puedo limitar la publicación de un tipo de contenido en particular a un grupo de usuarios y luego esa publicación puede tener taxonomía que solo se comparte con uno o más tipos de contenido (pero no todos los tipos).

Dejando de lado el aspecto del usuario que parece posible con scoper de roles, ¿puedes hacer esto con wordpress? Solo he visto tipos de contenido personalizados con taxonomía personalizada, pero no hay forma de compartir una taxonomía determinada entre 2 o más tipos de contenido personalizados sin volver a crearlos en dos lugares o habilitarlos globalmente a través de categorías / etiquetas ...

Gracias, -Chad.

    
pregunta Chad Dupuis 26.03.2013 - 15:21

3 respuestas

12

Compartir una taxonomía entre CPT

  

Me gustaría saber si dos tipos de contenido personalizado pueden compartir una taxonomía personalizada.

Simple dijo: Sí, ellos pueden .

Cómo compartir

Como explico en detalle en esta publicación de blog , debe registrar siempre taxonomías personalizadas y publicar tipos entre sí lo antes posible.

Envuelva su proceso de registro en una función, enganchado al enganche init en la prioridad predeterminada.

register_taxonomy(
    'some_custom_tax',
    'some_post_type',
    $array_of_arguments
);
register_post_type(
    'some_post_type',
    [
        'taxonomies' => [ 'some_custom_tax' ],
        // other arguments
    ]
);

No importa si usas el argumento 2 nd para register_taxonomy() o si usas register_taxonomy_for_object_type() , ya que ambos hacen lo mismo: toman la matriz $GLOBALS['wp_taxonomies'] y la asignan el objeto de tipo de publicación (tipo).

Nota importante

Solo asegúrese de registrar el CT y el CPT entre sí al registrarlos. De lo contrario, no tendrá acceso a esa interconexión durante los enlaces de consulta.

    
respondido por el kaiser 26.03.2013 - 15:46
2

Desde el Codex:

  

taxonomías

     

(matriz) (opcional) Una matriz de taxonomías registradas como categoría o post_tag que se utilizará con este tipo de publicación. Esto se puede usar en lugar de llamar a register_taxonomy_for_object_type() directamente. Las taxonomías personalizadas aún deben registrarse con register_taxonomy() .

Cuando registra su tipo de publicación, asigna las taxonomías que admite, o utiliza register_taxonomy_for_object_type() en algún otro punto agregue la taxonomía al tipo de publicación.

Puede asignar una taxonomía a tantos tipos de publicaciones como desee. Las taxonomías no están vinculadas a un tipo de publicación en particular.

    
respondido por el s_ha_dum 26.03.2013 - 15:33
1

Pude lograrlo fácilmente al pasar la matriz de todos los tipos de publicaciones personalizadas que quiero compartir, por lo que mi código tenía este aspecto:

add_action( 'init', 'build_taxonomies', 0 );
 function build_taxonomies() {
    register_taxonomy( 'some_custom_tax', array('some_post_type_1','some_post_type_2'), array( 'hierarchical' => true, 'label' => 'Custom Tax Title', 'query_var' => true, 'rewrite' => true ) );   
}
    
respondido por el Kevin Ochieng 31.03.2017 - 15:11

Lea otras preguntas en las etiquetas