Files
Minecraft-Server-News/includes/taxonomies.php
2026-05-11 09:17:15 +02:00

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 );
}