Update from Git Manager GUI

This commit is contained in:
2026-03-18 21:56:45 +01:00
parent ea210d5a75
commit ee592829c0
12 changed files with 1954 additions and 0 deletions

114
includes/class-wmw-cpt.php Normal file
View File

@@ -0,0 +1,114 @@
<?php
/**
* WMW_CPT Registers Custom Post Types and Taxonomies.
*/
defined( 'ABSPATH' ) || exit;
class WMW_CPT {
public function __construct() {
add_action( 'init', [ __CLASS__, 'register' ], 0 );
}
public static function register(): void {
self::register_wiki();
self::register_article();
self::register_category();
self::register_tag();
}
/* ── Wiki Container ─────────────────────────────────────────── */
private static function register_wiki(): void {
register_post_type( 'wmw_wiki', [
'labels' => [
'name' => _x( 'Wikis', 'post type general name', 'wp-multi-wiki' ),
'singular_name' => _x( 'Wiki', 'post type singular name', 'wp-multi-wiki' ),
'add_new' => __( 'Neues Wiki', 'wp-multi-wiki' ),
'add_new_item' => __( 'Neues Wiki erstellen', 'wp-multi-wiki' ),
'edit_item' => __( 'Wiki bearbeiten', 'wp-multi-wiki' ),
'view_item' => __( 'Wiki ansehen', 'wp-multi-wiki' ),
'all_items' => __( 'Alle Wikis', 'wp-multi-wiki' ),
'search_items' => __( 'Wikis suchen', 'wp-multi-wiki' ),
'not_found' => __( 'Keine Wikis gefunden.', 'wp-multi-wiki' ),
'not_found_in_trash' => __( 'Keine Wikis im Papierkorb.', 'wp-multi-wiki' ),
],
'public' => true,
'show_ui' => true,
'show_in_menu' => 'wp-multi-wiki',
'show_in_rest' => true,
'has_archive' => 'wikis',
'rewrite' => [ 'slug' => 'wikis', 'with_front' => false ],
'supports' => [ 'title', 'editor', 'thumbnail', 'excerpt' ],
'menu_icon' => 'dashicons-book-alt',
'capability_type' => 'post',
] );
}
/* ── Wiki Article ───────────────────────────────────────────── */
private static function register_article(): void {
register_post_type( 'wmw_article', [
'labels' => [
'name' => _x( 'Wiki Artikel', 'post type general name', 'wp-multi-wiki' ),
'singular_name' => _x( 'Wiki Artikel', 'post type singular name', 'wp-multi-wiki' ),
'add_new' => __( 'Neuer Artikel', 'wp-multi-wiki' ),
'add_new_item' => __( 'Neuen Artikel erstellen', 'wp-multi-wiki' ),
'edit_item' => __( 'Artikel bearbeiten', 'wp-multi-wiki' ),
'view_item' => __( 'Artikel ansehen', 'wp-multi-wiki' ),
'all_items' => __( 'Alle Artikel', 'wp-multi-wiki' ),
'search_items' => __( 'Artikel suchen', 'wp-multi-wiki' ),
'not_found' => __( 'Keine Artikel gefunden.', 'wp-multi-wiki' ),
'parent_item_colon' => __( 'Übergeordneter Artikel:', 'wp-multi-wiki' ),
],
'public' => true,
'show_ui' => true,
'show_in_menu' => 'wp-multi-wiki',
'show_in_rest' => true,
'has_archive' => false,
'hierarchical' => true, // Enables Chapter → Subchapter structure
'rewrite' => [ 'slug' => 'wiki-artikel', 'with_front' => false ],
'supports' => [ 'title', 'editor', 'thumbnail', 'excerpt', 'page-attributes', 'revisions', 'custom-fields' ],
'capability_type' => 'post',
] );
}
/* ── Taxonomies ─────────────────────────────────────────────── */
private static function register_category(): void {
register_taxonomy( 'wmw_category', 'wmw_article', [
'labels' => [
'name' => _x( 'Kategorien', 'taxonomy general name', 'wp-multi-wiki' ),
'singular_name' => _x( 'Kategorie', 'taxonomy singular name', 'wp-multi-wiki' ),
'add_new_item' => __( 'Neue Kategorie erstellen', 'wp-multi-wiki' ),
'edit_item' => __( 'Kategorie bearbeiten', 'wp-multi-wiki' ),
'all_items' => __( 'Alle Kategorien', 'wp-multi-wiki' ),
'parent_item' => __( 'Übergeordnete Kategorie', 'wp-multi-wiki' ),
'parent_item_colon' => __( 'Übergeordnete Kategorie:', 'wp-multi-wiki' ),
],
'hierarchical' => true,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'show_in_rest' => true,
'rewrite' => [ 'slug' => 'wiki-kategorie', 'with_front' => false ],
] );
}
private static function register_tag(): void {
register_taxonomy( 'wmw_tag', 'wmw_article', [
'labels' => [
'name' => _x( 'Tags', 'taxonomy general name', 'wp-multi-wiki' ),
'singular_name' => _x( 'Tag', 'taxonomy singular name', 'wp-multi-wiki' ),
'add_new_item' => __( 'Neuen Tag erstellen', 'wp-multi-wiki' ),
'all_items' => __( 'Alle Tags', 'wp-multi-wiki' ),
],
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'show_in_rest' => true,
'rewrite' => [ 'slug' => 'wiki-tag', 'with_front' => false ],
] );
}
}