Upload via Git Manager GUI

This commit is contained in:
Git Manager GUI
2026-05-11 09:52:14 +02:00
parent 287ee0da24
commit acb12a15bf

View File

@@ -3622,9 +3622,35 @@ function mm_bewerbung_customizer( $wp_customize ) {
'type' => 'number',
'input_attrs' => array( 'min' => 0, 'max' => 99 ),
) );
// ── Positionen ──
$wp_customize->add_setting( 'mm_bewerbung_positionen', array(
'default' => "Moderator
Supporter
Builder
Developer",
'sanitize_callback' => 'sanitize_textarea_field',
) );
$wp_customize->add_control( 'mm_bewerbung_positionen', array(
'label' => __( 'Bewerbungs-Positionen', 'minecraft-modern-theme' ),
'description' => __( 'Eine Position pro Zeile. Der Bewerber wählt genau eine davon aus.', 'minecraft-modern-theme' ),
'section' => 'mm_bewerbung_section',
'type' => 'textarea',
) );
}
add_action( 'customize_register', 'mm_bewerbung_customizer' );
// Hilfsfunktion: Positions-Liste als Array zurückgeben
function mm_bewerbung_get_positionen() {
$raw = get_theme_mod( 'mm_bewerbung_positionen', "Moderator
Supporter
Builder
Developer" );
$list = array_filter( array_map( 'trim', explode( "
", $raw ) ) );
return array_values( $list );
}
// --- 2. Custom Post Type: Bewerbung ---
function mm_register_bewerbung_cpt() {
@@ -3674,6 +3700,7 @@ function mm_bewerbung_meta_box_html( $post ) {
'_mm_bew_mc_name' => __( 'Minecraft Username', 'minecraft-modern-theme' ),
'_mm_bew_discord' => __( 'Discord Username', 'minecraft-modern-theme' ),
'_mm_bew_alter' => __( 'Alter', 'minecraft-modern-theme' ),
'_mm_bew_position' => __( 'Bewirbt sich als', 'minecraft-modern-theme' ),
'_mm_bew_warum' => __( 'Warum möchtest du mitspielen?', 'minecraft-modern-theme' ),
'_mm_bew_erfahrung' => __( 'Erfahrung / Vorstellung', 'minecraft-modern-theme' ),
'_mm_bew_datum' => __( 'Eingereicht am', 'minecraft-modern-theme' ),
@@ -3744,6 +3771,7 @@ function mm_bewerbung_columns( $cols ) {
'mc_name' => __( 'Minecraft', 'minecraft-modern-theme' ),
'discord' => __( 'Discord', 'minecraft-modern-theme' ),
'alter' => __( 'Alter', 'minecraft-modern-theme' ),
'position' => __( 'Position', 'minecraft-modern-theme' ),
'status' => __( 'Status', 'minecraft-modern-theme' ),
'datum' => __( 'Eingereicht', 'minecraft-modern-theme' ),
);
@@ -3778,6 +3806,15 @@ function mm_bewerbung_column_content( $col, $post_id ) {
case 'alter':
echo esc_html( get_post_meta($post_id, '_mm_bew_alter', true) );
break;
case 'position':
$pos = get_post_meta($post_id, '_mm_bew_position', true);
if ( $pos ) {
echo '<span style="background:#1e3a5f;color:#58a6ff;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600;">'
. esc_html($pos) . '</span>';
} else {
echo '<span style="color:#999;">—</span>';
}
break;
case 'status':
$s = get_post_meta($post_id, '_mm_bew_status', true) ?: 'neu';
$color = isset($status_colors[$s]) ? $status_colors[$s] : '#0073aa';
@@ -3809,10 +3846,16 @@ function mm_submit_bewerbung() {
$warum = sanitize_textarea_field( $_POST['warum'] ?? '' );
$erfahrung = sanitize_textarea_field( $_POST['erfahrung'] ?? '' );
$position = sanitize_text_field( $_POST['position'] ?? '' );
$positionen = mm_bewerbung_get_positionen();
$errors = array();
if ( empty($mc_name) ) $errors[] = __('Minecraft Username ist erforderlich.', 'minecraft-modern-theme');
if ( empty($discord) ) $errors[] = __('Discord Username ist erforderlich.', 'minecraft-modern-theme');
if ( $alter_raw < 1 ) $errors[] = __('Bitte gib dein Alter an.', 'minecraft-modern-theme');
if ( ! empty($positionen) && ! in_array($position, $positionen, true) ) {
$errors[] = __('Bitte wähle eine gültige Position aus.', 'minecraft-modern-theme');
}
if ( empty($warum) ) $errors[] = __('Bitte erkläre warum du mitspielen möchtest.', 'minecraft-modern-theme');
if ( empty($erfahrung) ) $errors[] = __('Bitte stell dich kurz vor.', 'minecraft-modern-theme');
@@ -3856,6 +3899,7 @@ function mm_submit_bewerbung() {
update_post_meta( $post_id, '_mm_bew_mc_name', $mc_name );
update_post_meta( $post_id, '_mm_bew_discord', $discord );
update_post_meta( $post_id, '_mm_bew_alter', $alter_raw );
update_post_meta( $post_id, '_mm_bew_position', $position );
update_post_meta( $post_id, '_mm_bew_warum', $warum );
update_post_meta( $post_id, '_mm_bew_erfahrung', $erfahrung );
update_post_meta( $post_id, '_mm_bew_status', 'neu' );