Upload via Git Manager GUI
This commit is contained in:
@@ -3622,9 +3622,35 @@ function mm_bewerbung_customizer( $wp_customize ) {
|
|||||||
'type' => 'number',
|
'type' => 'number',
|
||||||
'input_attrs' => array( 'min' => 0, 'max' => 99 ),
|
'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' );
|
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 ---
|
// --- 2. Custom Post Type: Bewerbung ---
|
||||||
function mm_register_bewerbung_cpt() {
|
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_mc_name' => __( 'Minecraft Username', 'minecraft-modern-theme' ),
|
||||||
'_mm_bew_discord' => __( 'Discord Username', 'minecraft-modern-theme' ),
|
'_mm_bew_discord' => __( 'Discord Username', 'minecraft-modern-theme' ),
|
||||||
'_mm_bew_alter' => __( 'Alter', '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_warum' => __( 'Warum möchtest du mitspielen?', 'minecraft-modern-theme' ),
|
||||||
'_mm_bew_erfahrung' => __( 'Erfahrung / Vorstellung', 'minecraft-modern-theme' ),
|
'_mm_bew_erfahrung' => __( 'Erfahrung / Vorstellung', 'minecraft-modern-theme' ),
|
||||||
'_mm_bew_datum' => __( 'Eingereicht am', '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' ),
|
'mc_name' => __( 'Minecraft', 'minecraft-modern-theme' ),
|
||||||
'discord' => __( 'Discord', 'minecraft-modern-theme' ),
|
'discord' => __( 'Discord', 'minecraft-modern-theme' ),
|
||||||
'alter' => __( 'Alter', 'minecraft-modern-theme' ),
|
'alter' => __( 'Alter', 'minecraft-modern-theme' ),
|
||||||
|
'position' => __( 'Position', 'minecraft-modern-theme' ),
|
||||||
'status' => __( 'Status', 'minecraft-modern-theme' ),
|
'status' => __( 'Status', 'minecraft-modern-theme' ),
|
||||||
'datum' => __( 'Eingereicht', 'minecraft-modern-theme' ),
|
'datum' => __( 'Eingereicht', 'minecraft-modern-theme' ),
|
||||||
);
|
);
|
||||||
@@ -3778,6 +3806,15 @@ function mm_bewerbung_column_content( $col, $post_id ) {
|
|||||||
case 'alter':
|
case 'alter':
|
||||||
echo esc_html( get_post_meta($post_id, '_mm_bew_alter', true) );
|
echo esc_html( get_post_meta($post_id, '_mm_bew_alter', true) );
|
||||||
break;
|
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':
|
case 'status':
|
||||||
$s = get_post_meta($post_id, '_mm_bew_status', true) ?: 'neu';
|
$s = get_post_meta($post_id, '_mm_bew_status', true) ?: 'neu';
|
||||||
$color = isset($status_colors[$s]) ? $status_colors[$s] : '#0073aa';
|
$color = isset($status_colors[$s]) ? $status_colors[$s] : '#0073aa';
|
||||||
@@ -3809,10 +3846,16 @@ function mm_submit_bewerbung() {
|
|||||||
$warum = sanitize_textarea_field( $_POST['warum'] ?? '' );
|
$warum = sanitize_textarea_field( $_POST['warum'] ?? '' );
|
||||||
$erfahrung = sanitize_textarea_field( $_POST['erfahrung'] ?? '' );
|
$erfahrung = sanitize_textarea_field( $_POST['erfahrung'] ?? '' );
|
||||||
|
|
||||||
|
$position = sanitize_text_field( $_POST['position'] ?? '' );
|
||||||
|
$positionen = mm_bewerbung_get_positionen();
|
||||||
|
|
||||||
$errors = array();
|
$errors = array();
|
||||||
if ( empty($mc_name) ) $errors[] = __('Minecraft Username ist erforderlich.', 'minecraft-modern-theme');
|
if ( empty($mc_name) ) $errors[] = __('Minecraft Username ist erforderlich.', 'minecraft-modern-theme');
|
||||||
if ( empty($discord) ) $errors[] = __('Discord 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 ( $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($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');
|
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_mc_name', $mc_name );
|
||||||
update_post_meta( $post_id, '_mm_bew_discord', $discord );
|
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_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_warum', $warum );
|
||||||
update_post_meta( $post_id, '_mm_bew_erfahrung', $erfahrung );
|
update_post_meta( $post_id, '_mm_bew_erfahrung', $erfahrung );
|
||||||
update_post_meta( $post_id, '_mm_bew_status', 'neu' );
|
update_post_meta( $post_id, '_mm_bew_status', 'neu' );
|
||||||
|
|||||||
Reference in New Issue
Block a user