Intereting Posts
Пользовательский диалог TinyMCE с неработающим selectbox Показывать видео на главной странице для пользователей, которые не вошли в систему Список и доступ к категориям для настраиваемого типа сообщений Список классов тела, созданных body_class () Получать post_type от term_id Wp получает все вспомогательные страницы родителя, используя запрос wp Резервное копирование WordPress (на другом сервере), ведущее к старым серверам addy и WP Пользовательская функция для «Отправить для обзора» Избавиться от панели инструментов WordPress.com на других сайтах? Как использовать hyperdb для разделения и совместного использования набора данных пользователя между установками WordPress? Непосредственно открыть страницу в текстовом редакторе Удаление терминов и отношений таксономии в пользовательском post_type при удалении пользователя Как рассчитать общее количество комментариев, сделанных определенным пользователем Как отображать предупреждение при удалении плагина? изменить функцию strip_tags, чтобы использовать термин slug вместо имени

Подключить тип сообщения как пользовательскую таксономию к пользователям и другой пользовательский тип сообщения в панели администратора

Я хотел бы сделать пользовательские таксономии для двух типов сообщений, users и intranet-posts в intranet-posts в панели администратора WordPress. Так, например, пользователь может иметь таксономии, такие как region , department , role , company и intranet-post , может иметь варианты выбора того, в какой region , department , role или company он будет отправлен. Я сделал post type intranet_categories , где администратор мог создавать такие таксономии как для users и для intranet-posts .

 add_action('init', function() { register_post_type('intranet-categories', [ 'labels' => [ 'name' => 'Kategorier', 'singular_name' => 'Kategorier', 'menu_name' => 'Kategorier', 'name_admin_bar' => 'Kategorier', 'add_new' => 'Legg til ny', 'add_new_item' => 'Ny Kategori', 'new_item' => 'Ny Kategori', 'edit_item' => 'Rediger Kategori', 'view_item' => 'Vis Kategori', 'all_items' => 'Alle Kategorier', 'search_items' => 'Søk', 'parent_item_colon' => 'Forelder', 'not_found' => 'Fant ingen Kategori.', 'not_found_in_trash' => 'Fant ingen Kategori i søppelkassen.', ], 'description' => 'Kategori', 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => ['slug' => 'intranet-categories'], 'capability_type' => 'post', 'has_archive' => true, 'hierarchical' => false, 'menu_position' => null, 'menu_icon' => 'dashicons-editor-ol', 'supports' => ['title', 'editor', 'excerpt', 'thumbnail'], 'capability_type' => 'custom_post_type', 'capabilities' => ['create_posts' => false], ]); register_taxonomy('department', 'intranet-categories', [ 'labels' => [ 'name' => 'Avdeling', 'singular_name' => 'Avdeling', 'search_items' => 'Søk', 'all_items' => 'Alle avdelinger', 'parent_item' => 'Forelder', 'parent_item_colon' => 'Forelder', 'edit_item' => 'Rediger avdeling', 'update_item' => 'Oppdater avdeling', 'add_new_item' => 'Opprett avdeling', 'new_item_name' => 'Ny avdeling', 'menu_name' => 'Avdelinger', ], 'hierarchical' => true, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => ['slug' => 'avdeling'], ]); register_taxonomy('region', 'intranet-categories', [ 'labels' => [ 'name' => 'Region', 'singular_name' => 'Region', 'search_items' => 'Søk', 'all_items' => 'Alle region', 'parent_item' => 'Forelder', 'parent_item_colon' => 'Forelder', 'edit_item' => 'Rediger Region', 'update_item' => 'Oppdater Region', 'add_new_item' => 'Opprett Region', 'new_item_name' => 'Ny Region', 'menu_name' => 'Regioner', ], 'hierarchical' => true, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => ['slug' => 'avdeling'], ]); register_taxonomy('industry', 'intranet-categories', [ 'labels' => [ 'name' => 'Bransje', 'singular_name' => 'Bransje', 'search_items' => 'Søk', 'all_items' => 'Alle bransjer', 'parent_item' => 'Forelder', 'parent_item_colon' => 'Forelder', 'edit_item' => 'Rediger bransje', 'update_item' => 'Oppdater bransje', 'add_new_item' => 'Opprett bransje', 'new_item_name' => 'Ny bransje', 'menu_name' => 'Bransjer', ], 'hierarchical' => true, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => ['slug' => 'bransje'], ] ); register_taxonomy('role', 'intranet-categories', [ 'labels' => [ 'name' => 'Rolle', 'singular_name' => 'Rolle', 'search_items' => 'Søk', 'all_items' => 'Alle roller', 'parent_item' => 'Forelder', 'parent_item_colon' => 'Forelder', 'edit_item' => 'Rediger rolle', 'update_item' => 'Oppdater rolle', 'add_new_item' => 'Opprett rolle', 'new_item_name' => 'Ny rolle', 'menu_name' => 'Roller', ], 'hierarchical' => true, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => ['slug' => 'rolle'], ] ); register_taxonomy('company', 'intranet-categories', [ 'labels' => [ 'name' => 'Selskap', 'singular_name' => 'Selskap', 'search_items' => 'Søk', 'all_items' => 'Alle selskaper', 'parent_item' => 'Forelder', 'parent_item_colon' => 'Forelder', 'edit_item' => 'Rediger selskap', 'update_item' => 'Oppdater selskap', 'add_new_item' => 'Opprett selskap', 'new_item_name' => 'Ny selskap', 'menu_name' => 'Selskaper', ], 'hierarchical' => true, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => ['slug' => 'selskap'], ] ); }); 

Но я не уверен, как использовать эти категории в качестве таксономий у users и intranet-post . Я пробовал с этим:

 $categories = get_object_taxonomies('intranet-categories'); foreach ($categories as $category) { register_taxonomy($category, 'intranet-post', [ 'labels' => [ 'name' => $category, 'singular_name' => $category, 'search_items' => 'Søk', 'all_items' => 'Alle ' . $category, 'parent_item' => 'Forelder', 'parent_item_colon' => 'Forelder', 'edit_item' => 'Rediger ' . $category, 'update_item' => 'Oppdater ' . $category, 'add_new_item' => 'Opprett ' . $category, 'new_item_name' => 'Ny ' . $category, 'menu_name' => $category, ], 'hierarchical' => true, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => ['slug' => $category], ]); } 

Но, если я это сделаю, то категориус исчезнет из меню, и я получаю таксономии для intranet-post . Каков правильный способ реализации этого?