Hallo,
ich könnte eure Hilfe bei einem kleinen Problem gebrauchen. Ich habe ein Formular gebaut, mit dem ich Posts (Custom Post Type 'bewerber') aus dem Front-End erstelle. Es funktioniert alles wunderbar, bis auf eine Kleinigkeit:
Ich möchte folgendes ergänzen:
Wenn das Formular abgesendet wird und der Post erstellt wird, sollen Posts von diesem Typ loopen und alle vorhandenen Strings dieser Posts vom custom field 'bewerbernummer' in ein Array gespeichert werden - z.B. (000000001, 000000002, 000000003). Dann soll der größte Wert plus 1 gerechnet werden und der String im neuen Post in das custom field 'bewerbernummer' gespeichert werden.
Hier mein Code:
Code
if( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == "new_post") {
/* Hier werden alle Formularfelder in Variablen gespeichert */
$beworben = $_POST['beworben'];
$verfuegbar = $_POST['verfuegbar'];
$nachname = $_POST['nachname'];
$vorname = $_POST['vorname'];
$adresse = $_POST['adresse'];
$postleitzahl = $_POST['postleitzahl'];
$wohnort = $_POST['wohnort'];
$emailadresse = $_POST['emailadresse'];
$telefonnummer = $_POST['telefonnummer'];
$schulbildung = $_POST['schulbildung'];
$studium = $_POST['studium'];
$studiengang = $_POST['studiengang'];
$berufsausbildung = $_POST['berufsausbildung'];
$beruf = $_POST['beruf'];
$hardskills = $_POST['hardskills'];
$softskills = $_POST['softskills'];
$bewerbungsunterlagen = $_POST['bewerbungsunterlagen'];
/* Hier wird ein File hochgeladen und in das Custom Field 'bewerbungsunterlagen' eingesetzt */
if (!function_exists('wp_generate_attachment_metadata')){
require_once(ABSPATH . "wp-admin" . '/includes/image.php');
require_once(ABSPATH . "wp-admin" . '/includes/file.php');
require_once(ABSPATH . "wp-admin" . '/includes/media.php');
}
if ($_FILES) {
foreach ($_FILES as $file => $array) {
if ($_FILES[$file]['error'] !== UPLOAD_ERR_OK) {
return "upload error : " . $_FILES[$file]['error'];
}
$attach_id = media_handle_upload( $file, $new_post );
}
}
if ($attach_id > 0){
update_post_meta($new_post,'bewerbungsunterlagen',$attach_id);
}
/* Hier soll eine Bewerbernummer generiert werden: Prüfe alle custom fields mit dem Namen 'bewerbernummer' aus den Posts mit dem Typ 'bewerber' auf vorhandene Nummern, addiere +1 und füge es im neuen Post in das Feld 'bewerbernummer' ein -> Start 000000001, 000000002, 000000003... */
/* Hier werden alle Formulardaten in die Custom Fields des Posts eingesetzt */
$new_post = array(
'post_title' => $nachname.','.$vorname,
'meta_input' => array(
'beworben' => $beworben,
'verfuegbar' => $verfuegbar,
'nachname' => $nachname,
'vorname' => $vorname,
'adresse' => $adresse,
'postleitzahl' => $postleitzahl,
'wohnort' => $wohnort,
'emailadresse' => $emailadresse,
'telefonnummer' => $telefonnummer,
'schulbildung' => $schulbildung,
'studium' => $studium,
'studiengang' => $studiengang,
'berufsausbildung' => $berufsausbildung,
'beruf' => $beruf,
'hardskills' => $hardskills,
'softskills' => $softskills,
'bewerbungsunterlagen' => $attach_id
),
'post_status' => 'publish',
'post_type' => 'bewerber'
);
$pid = wp_insert_post($new_post);
}
Alles anzeigen