Метод 1: использование функции Register_taxonomy()
Пример кода:
function custom_taxonomy() {
$args = array(
'label' => 'Custom Taxonomy',
'rewrite' => array( 'slug' => 'custom-taxonomy' ),
'hierarchical' => true,
);
register_taxonomy( 'custom_taxonomy', array( 'post', 'page', 'custom_post_type' ), $args );
}
add_action( 'init', 'custom_taxonomy' );
Объяснение:
Передавая массив типов сообщений в функцию «register_taxonomy()», вы можете связать несколько типов сообщений с пользовательской таксономией. В этом примере таксономия «custom_taxonomy» связана с типами сообщений «post», «page» и «custom_post_type».
Метод 2: использование аргумента «таксономии» в функции «register_post_type()»
Пример кода:
function custom_post_type() {
$args = array(
'label' => 'Custom Post Type',
'taxonomies' => array( 'category', 'post_tag', 'custom_taxonomy' ),
// Other arguments...
);
register_post_type( 'custom_post_type', $args );
}
add_action( 'init', 'custom_post_type' );
Объяснение:
Включив аргумент «таксономии» в функцию «register_post_type()», вы можете указать таксономии, связанные с произвольным типом публикации. В этом примере «custom_post_type» связан со встроенными таксономиями «category» и «post_tag», а также с пользовательской таксономией «custom_taxonomy».
Метод 3: использование функции «register_taxonomy_for_object_type()»
Пример кода:
function custom_taxonomy_for_post_type() {
register_taxonomy_for_object_type( 'custom_taxonomy', 'post' );
register_taxonomy_for_object_type( 'custom_taxonomy', 'page' );
register_taxonomy_for_object_type( 'custom_taxonomy', 'custom_post_type' );
}
add_action( 'init', 'custom_taxonomy_for_post_type' );
Объяснение:
Функция «register_taxonomy_for_object_type()» позволяет вам вручную связать таксономию с определенным типом публикации. Вызвав эту функцию для каждого типа публикации, вы можете связать таксономию «custom_taxonomy» с «post», «page» и «custom_post_type».
Метод 4. Использование специального плагина
Пример кода:
/*
Plugin Name: Custom Taxonomy Post Types
*/
function custom_taxonomy_post_types() {
register_taxonomy_for_object_type( 'custom_taxonomy', 'post' );
register_taxonomy_for_object_type( 'custom_taxonomy', 'page' );
register_taxonomy_for_object_type( 'custom_taxonomy', 'custom_post_type' );
}
add_action( 'init', 'custom_taxonomy_post_types' );
Объяснение:
Создайте собственный плагин и добавьте необходимый код, чтобы связать таксономию с несколькими типами сообщений. При активации этого плагина таксономия «custom_taxonomy» будет связана с «post», «page» и «custom_post_type».
В этой статье мы рассмотрели различные методы сопоставления одной и той же таксономии с несколькими типами записей в WordPress. Используя предоставленные примеры кода, вы можете легко реализовать эту функцию в своих проектах WordPress. При выборе подходящего метода не забудьте учитывать конкретные требования вашего проекта.