Agile Uploader WordPress-Implementierung

Lesezeit: 2 Minuten

Benutzer-Avatar
Chirea Mihai Bogdan

Ich versuche, einen WordPress-Uploader für die Startseite zu implementieren, der dem Benutzer die Möglichkeit gibt, ein Bild von einer WordPress-Seite hochzuladen, und der auch die Größe von Bildern vor dem Hochladen ändert. Ich habe Agile Uploader gefunden. Der Uploader befindet sich in einem Formular.

Das Problem ist, wenn ich im Formular auf die Schaltfläche Senden klicke, um die Daten zu senden, werden alle Felder in einem Beitrag gespeichert, aber die Bilder nicht.

Hier ist der Code für meine Upload-Seite:

<form id="submitForm" action="<?php echo get_permalink(); ?>" method="post" enctype="multipart/form-data" onsubmit="return ray.ajax()">
<!-- upload photos -->

  <div style="float:left;width:410px; height:246px;">
    <div id="multiple"></div>
  </div>

  <script type="text/javascript">
    jQuery('#multiple').agileUploader({
      formId: 'submitForm',
      flashVars: {
        file_post_var: 'attachment',
        firebug: false,
        form_action: '',
        file_limit: 15,
        max_post_size: (1000 * 1024)
      }
    }); 
  </script>

  </div>   <!-- end - upload photos -->
</form>

und den Code für den WordPress-Upload (in der gleichen Datei)

/* upload photos */
if ($post_error == false) {

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

  $files = $_FILES['attachment'];

  if ($files) { 

    foreach ($files['name'] as $key => $value) {
      if ($files['name'][$key]) {
        $file = array(
          'name' => $files['name'][$key],
          'type' => $files['type'][$key],
          'tmp_name' => $files['tmp_name'][$key],
          'error' => $files['error'][$key],
          'size' => $files['size'][$key]
        );  
      }

      $_FILES = array("attachment" => $file);
      //$_FILES = array_reverse($_FILES);
      foreach ($_FILES as $file => $array) {                                  
        $attach_id = media_handle_upload( $file, $ad_id, array(), array( 'test_form' => false ) );
        if ($attach_id < 0) { $post_error = true;
      }
    }
  }
}

Was mache ich falsch?

  • Das Problem ist also das Speichern des gesamten Formulars?

    – jaw

    20. Dezember 2012 um 13:29 Uhr

  • Irgendwelche Fehlermeldungen?, überprüfen Sie Ihre Firebug-Konsole und posten Sie hier, um eine schnelle Antwort zu erhalten

    – Suriyan Suresh

    28. Januar 2013 um 7:58 Uhr

Sind Sie sicher, dass die Bilder nicht als „Anhang“ zum erstellten Beitrag gespeichert werden?

Versuchen Sie es mit Laufen:

$attachments = get_posts( array(
'post_type' => 'attachment',
'posts_per_page' => -1,
'post_parent' => $post->ID,
'exclude'     => get_post_thumbnail_id()) 
);
var_dump($attachments);

In der Vorlagendatei, die Sie zum Anzeigen des Beitrags verwenden. Wenn Sie mit dem Codieren nicht vertraut sind, können Sie ein Plugin verwenden, um angehängte Dateien anzuzeigen. So was „Kurzcode für Anhänge auflisten“ Plugin.

Dies ist möglicherweise etwas einfach und möglicherweise nicht Ihr Problem, aber Sie vermissen eine geschweifte Klammer am Ende (}) nach if ($attach_id < 0) { $post_error = true;.

Ist das in Ihrem tatsächlichen Code oder haben Sie einfach vergessen, es in Ihre obige Frage einzufügen?

1366100cookie-checkAgile Uploader WordPress-Implementierung

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy