51 lines
2.1 KiB
PHP
51 lines
2.1 KiB
PHP
<?php
|
|
if ( ! defined( 'ABSPATH' ) ) exit;
|
|
|
|
add_action( 'init', 'msn_register_taxonomies' );
|
|
function msn_register_taxonomies() {
|
|
|
|
/* --- Kategorie (Update, Event, Wartung …) --- */
|
|
register_taxonomy( 'msn_category', 'msn_news', [
|
|
'labels' => [
|
|
'name' => 'News-Kategorien',
|
|
'singular_name' => 'Kategorie',
|
|
'add_new_item' => 'Neue Kategorie',
|
|
'edit_item' => 'Kategorie bearbeiten',
|
|
'search_items' => 'Kategorien suchen',
|
|
'not_found' => 'Keine Kategorien gefunden',
|
|
'menu_name' => 'Kategorien',
|
|
],
|
|
'hierarchical' => true,
|
|
'show_in_menu' => true,
|
|
'show_in_rest' => true,
|
|
'rewrite' => [ 'slug' => 'news-kategorie' ],
|
|
] );
|
|
}
|
|
|
|
/* -------------------------------------------------------
|
|
Standard-Kategorien beim ersten Aktivieren anlegen
|
|
------------------------------------------------------- */
|
|
add_action( 'init', 'msn_insert_default_categories', 20 );
|
|
function msn_insert_default_categories() {
|
|
if ( get_option( 'msn_defaults_created' ) ) return;
|
|
|
|
$defaults = [
|
|
[ 'name' => '🔧 Update', 'slug' => 'update', 'description' => 'Server-Updates & Patches' ],
|
|
[ 'name' => '🎉 Event', 'slug' => 'event', 'description' => 'Community-Events & Aktionen' ],
|
|
[ 'name' => '⚠️ Wartung', 'slug' => 'wartung', 'description' => 'Geplante Wartungsarbeiten' ],
|
|
[ 'name' => '📢 Ankündigung', 'slug' => 'ankundigung','description' => 'Wichtige Ankündigungen' ],
|
|
[ 'name' => '🐛 Bugfix', 'slug' => 'bugfix', 'description' => 'Fehlerbehebungen' ],
|
|
];
|
|
|
|
foreach ( $defaults as $cat ) {
|
|
if ( ! term_exists( $cat['slug'], 'msn_category' ) ) {
|
|
wp_insert_term( $cat['name'], 'msn_category', [
|
|
'slug' => $cat['slug'],
|
|
'description' => $cat['description'],
|
|
] );
|
|
}
|
|
}
|
|
|
|
update_option( 'msn_defaults_created', true );
|
|
}
|