it-swarm.com.de

hochladen von Anhängen im Frontend - zart

ich verstoße hier wahrscheinlich gegen ein paar Regeln des gesunden Menschenverstands.

Gibt es eine Möglichkeit, WordPress 'Bake in der Behandlung von Anhangsdateien für ein Upload-Formular innerhalb einer Designvorlage zu verwenden? Ja, das Frontend - ich weiß.

ich erstelle eine Gedenkstätte und möchte, dass die Menschen textuelle fotografische "Kommentare" für eine liebe Person hinterlassen können, die unsere Community verloren hat.

aber das sind keine WordPress-Benutzer. Sie sind Tanten und Kinder und alles dazwischen.

diese Leute werden nicht in der Lage sein, die WP Standard-Medien-Benutzeroberfläche herauszufinden, und ich möchte nicht, dass sie sich einloggen und herumfummeln müssen. zu verwirrend für sie. Wenn dies kein so spezifisches und heikles Projekt wäre, würde ich nicht versuchen, die Regeln so sehr zu biegen.

ich verstehe, dass ich Sicherheitslücken öffne, indem ich jedem erlaube, eine Datei hochzuladen, aber ich denke, es ist irgendwie notwendig. Alle hochgeladenen Anhänge sind "ausstehend". Ich habe sowohl den Text als auch die Fotos einen benutzerdefinierten Beitragstyp festgelegt, nicht als Kommentare, so dass ich einige eingebaute Beitragsdaten verwenden kann.

und es wäre großartig , wenn ich die in der Dateiprüfung, Handhabung, Benennung, Größe usw. eingebaute Worpdress verwenden könnte, obwohl sich die Dateihandhabung am vorderen Ende befindet.

ich dachte, dass ich vielleicht verwenden könnte: wp_handle_upload ()

durch Einfügen von '../ wp-admin/includes/file.php'

aber das hat nicht funktioniert. Ich erhalte einen schwerwiegenden Fehler, wenn ich versuche, es einzuschließen. Ist es einfach VOLLSTÄNDIG gegen die Regeln, Admin-Includes in Vorlagen einzubeziehen ... wahrscheinlich.

ich könnte einfach die gesamte Dateiverwaltung selbst durchführen, dachte aber, dass es vielleicht eine Möglichkeit gibt, die Funktionalität von WordPress zu nutzen, und dass es sicherer sein könnte.

oder gibt es Vorschläge für eine andere Route, die ich insgesamt fahren sollte?

das ist leider ziemlich zeitkritisch ... der gedenkgottesdienst kommt in ein paar tagen.

ich danke dir sehr

jona

1
Jonah Goldstein

hier ist die Funktion, die ich verwende, wenn ich Uploads vom Front-End akzeptiere und Sie sie in Ihren Vorlagendateien verwenden können:

function insert_attachment($file_handler,$post_id,$setthumb='false') {

  // check to make sure its a successful upload
  if ($_FILES[$file_handler]['error'] !== UPLOAD_ERR_OK) __return_false();

  require_once(ABSPATH . "wp-admin" . '/includes/image.php');
  require_once(ABSPATH . "wp-admin" . '/includes/file.php');
  require_once(ABSPATH . "wp-admin" . '/includes/media.php');

  $attach_id = media_handle_upload( $file_handler, $post_id );

  if ($setthumb) update_post_meta($post_id,'_thumbnail_id',$attach_id);
  return $attach_id;
}

Verwendung:

// set $post_id to the id of the post you want to attach
// these uploads to (or 'null' to just handle the uploads
// without attaching to a post)

if ($_FILES) {
  foreach ($_FILES as $file => $array) {
    $newupload = insert_attachment($file,$post_id);
    // $newupload returns the attachment id of the file that
    // was just uploaded. Do whatever you want with that now.
  }
}
7
Bainternet