Implementación de WordPress de Agile Uploader

2 minutos de lectura

avatar de usuario
Chirea Mihai Bogdan

Estoy tratando de implementar un cargador de WordPress en la página principal que le da al usuario la posibilidad de cargar una imagen desde una página de WordPress y también cambia el tamaño de las imágenes antes de cargarlas. Encontré Agile Uploader. El cargador está en un formulario.

El problema es que cuando hago clic en el botón Enviar en el formulario para enviar los datos, todos los campos se almacenan en una publicación, pero las imágenes no.

Aquí está el código para mi página de carga:

<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>

y el código para cargar WordPress (está en el mismo archivo)

/* 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;
      }
    }
  }
}

¿Qué estoy haciendo mal?

  • Entonces, ¿el problema es guardar todo el formulario?

    – enero

    20 de diciembre de 2012 a las 13:29

  • ¿Algún mensaje de error? Verifique en su consola Firebug y publíquelo aquí para obtener una respuesta rápida.

    – Suriyan Suresh

    28 de enero de 2013 a las 7:58

¿Estás seguro de que las imágenes no se guardan como un ‘Adjunto’ a la publicación creada?

Intenta ejecutar:

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

En el archivo de plantilla que usas para ver la publicación. Si no se siente cómodo con la codificación, puede usar un complemento para mostrar los archivos adjuntos. Como esto “Código abreviado de lista de archivos adjuntos” enchufar.

Esto puede ser un poco simple y puede que no sea su problema, pero le falta un final de llave (}) después if ($attach_id < 0) { $post_error = true;.

¿Está eso en su código real o simplemente se olvidó de ponerlo en su pregunta anterior?

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad