Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

subida de fotos

Estas en el tema de subida de fotos en el foro de WordPress en Foros del Web. (Carajo, no sé ni como nombrar este tema!) La cuestión es la siguiente: Tengo "una especie de sidebar" al costado derecho que debe mostrar las ...
  #1 (permalink)  
Antiguo 31/05/2011, 08:02
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
subida de fotos

(Carajo, no sé ni como nombrar este tema!)

La cuestión es la siguiente: Tengo "una especie de sidebar" al costado derecho que debe mostrar las últimas X fotos enviadas por los usuarios.

Lo que se me ocurrió es que las fotos lleguen al mail del admin, adjuntas, y sea éste quién se encargue de adjuntarlas a un post. Pero resulta que quieren que sean los propios usuarios (registrados -les di el perfil de suscriptores- o no) quienes escriban un comentario con foto adjunta. Y que las fotos vayan a parar allí (automáticamente aunque mediante aprobación previa sería lo ideal).

El tema es que no sé como manejarlo... ¿un formulario para comentar especial a ese único post, donde se permita subir una imagen? No? Qué otras alternativas me pueden ofrecer?

Gracias.
__________________
...___...
  #2 (permalink)  
Antiguo 31/05/2011, 08:18
Avatar de Omegakenshin  
Fecha de Ingreso: junio-2010
Ubicación: Costa Rica
Mensajes: 156
Antigüedad: 13 años, 10 meses
Puntos: 22
Respuesta: subida de fotos

Huuuuy k buen proyecto, me gustaria saber k solucion encuentras! Lamento no poder ayudarte pero estoy seguro de k encontraras una forma, salu2
  #3 (permalink)  
Antiguo 31/05/2011, 08:32
Avatar de pao01
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 1.875
Antigüedad: 15 años, 10 meses
Puntos: 351
Respuesta: subida de fotos

¿Las fotos sí o sí las deberían subir en los comentarios?

Porque yo estoy utilizando un plugin muy bueno donde generás diferentes perfiles personalizados "User Role Editor" es fácil de manejarlo y bastante completo. Puede el administrador dar permiso de publicar directamente ó sencillamente él aprobarlo.

Estimo que de tener el sidebar la opción de configurarse con publicar featured o destacados ó subidas recientes, las fotos pasarían a verse allí.

Ahora ajustándome a tu última línea que habla de realizar un formulario de comentarios especiales para un único post, aún no me doy idea pero si se me ocurre algo más te digo, pienso en algo parecido a los RSS pero aplicable sólo al post.
__________________
Entre más estrecha la mente, más grande la boca.- Ted Cook
Autosconarte-Blog
  #4 (permalink)  
Antiguo 31/05/2011, 08:52
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Respuesta: subida de fotos

Hola, gracias.

Cita:
¿Las fotos sí o sí las deberían subir en los comentarios?
No. Fue una idea que tiré. De hecho, no sé si se puede "attachar" una imagen a un comment como sí se puede a un post. Voy a ver ese plugin... lástima que acá no puedo bajar archivos (ni siquiera instalarlos automáticamente en mi localhost debido a las restricciones del proxy y no lo quiero instalar "arriba" sin antes haberlo testeado local) y la persona que siempre molesto para esos menesteres ahora está desconectada, tendré que esperarlo

Repito, usar comments con adjuntos para tal fin fue sólo una idea.. estoy abierto a todas las alternativas!
__________________
...___...
  #5 (permalink)  
Antiguo 31/05/2011, 18:12
Avatar de j_aroche
Server Ninja
 
Fecha de Ingreso: agosto-2006
Ubicación: iPhone: 14.624481,-90.487457
Mensajes: 2.066
Antigüedad: 17 años, 8 meses
Puntos: 223
Respuesta: subida de fotos

Creo que es mucho más fácil si usas posts en lugar de comentarios (comments) para administrar esto. Por ejemplo, puedes hacer que los posts enviados por cierto grupo de usuarios siempre lleven una categoría a fuerza (por ej, "sidebar") y que los posts queden "pendientes de revisión", así el admin las aprueba antes. El "comentario" de la foto no sería otra cosa más que el título de la foto. De esta forma solo un query a los posts en categoría "Sidebar" te da las últimas fotos (y supongo las tienes que excluir del loop principal).

Puedes dejar que usen el editor de wordpress de toda la vida, pero creo que sería mucho más sano darles un editor "simplificado" que les permita adjuntar una foto y dejar un comentario, nada más. Luego con este pseudo-editor de posts, llamas al wp_insert_post(), lo agregas a la categoría y no se que más :P

O bien puedes adjuntar todas las fotos a un solo post (desde el pseudo editor) evitando "desperdiciar" tantos posts para una sola foto. Muestras las fotos usando:
Código PHP:
Ver original
  1. $args = array(
  2.     'post_type' => 'attachment',
  3.     'numberposts' => 10,
  4.     'post_status' => null,
  5.     'post_parent' => $post->ID
  6. );
  7.  
  8. $attachments = get_posts($args);
  9. foreach ($attachments as $attachment) {
  10.     // ...
  11. }

Lo malo que pierdes la opción de aprobar las fotos antes de que salgan publicadas.

Espero te sirva :)
__________________
Blog: JavierAroche.com - Twitter: @j_aroche
  #6 (permalink)  
Antiguo 31/05/2011, 19:11
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Respuesta: subida de fotos

Gracias, mañana lo reviso detenidamente (así como el plugin que mencionó Pao que hoy no tuve tiempo)
__________________
...___...
  #7 (permalink)  
Antiguo 01/06/2011, 06:44
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Respuesta: subida de fotos

Cita:
Lo malo que pierdes la opción de aprobar las fotos antes de que salgan publicadas.
Pero se me ocurre una alternativa: desplegar esos attachments como una galería. Usando el plugin Multiple Galleries se puede seleccionar cuáles imágenes se mostrarán en ésta... así que sería casi como una aprobación de las mismas.... voy por ese lado, así que me pongo a investigar cómo subir imágenes y adjuntarlas a un post desde fuera de wp-admin (seguramente volveré a molestar por aquí ñ_ñ)
__________________
...___...
  #8 (permalink)  
Antiguo 01/06/2011, 07:56
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Respuesta: subida de fotos

Me estoy excitando: http://goldenapplesdesign.com/2010/0...-in-wordpress/
Ya casi que lo tengo listo, me falta pulir algunas nimiedades.

Por qué desperdicié tantos años de mi vida creando mis propias aplicaciones si wordpress es tan potente? eh? Me quieren explicar=???
__________________
...___...
  #9 (permalink)  
Antiguo 01/06/2011, 14:36
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 10 meses
Puntos: 832
Respuesta: subida de fotos

Cita:
Iniciado por AlZuwaga Ver Mensaje
Por qué desperdicié tantos años de mi vida creando mis propias aplicaciones si wordpress es tan potente? eh? Me quieren explicar=???
Durante la primera mitad de tu vida te juntaste con los amigos equivocados. Pero ya estás aquí compañero, no temas... Ya estás aquí.
  #10 (permalink)  
Antiguo 01/06/2011, 18:41
Avatar de j_aroche
Server Ninja
 
Fecha de Ingreso: agosto-2006
Ubicación: iPhone: 14.624481,-90.487457
Mensajes: 2.066
Antigüedad: 17 años, 8 meses
Puntos: 223
Respuesta: subida de fotos

Cita:
Iniciado por AlZuwaga Ver Mensaje
Por qué desperdicié tantos años de mi vida creando mis propias aplicaciones si wordpress es tan potente? eh? Me quieren explicar=???

Bienvenido a la luz, al Evangelio de los CMS según Matt Mullenweg.
__________________
Blog: JavierAroche.com - Twitter: @j_aroche
  #11 (permalink)  
Antiguo 06/06/2011, 08:01
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Respuesta: subida de fotos

Disculpen la demora. Me había olvidado de pasar a agradecer. Todo resultó de maravillas. Básicamente utilicé esta función:

Código PHP:
Ver original
  1. function insert_attachment($file_handler,$post_id,$setthumb='false') {
  2.         // check to make sure its a successful upload
  3.         if ($_FILES[$file_handler]['error'] !== UPLOAD_ERR_OK) __return_false();
  4.        
  5.         require_once(ABSPATH . "wp-admin" . '/includes/image.php');
  6.         require_once(ABSPATH . "wp-admin" . '/includes/file.php');
  7.         require_once(ABSPATH . "wp-admin" . '/includes/media.php');
  8.        
  9.         $attach_id = media_handle_upload( $file_handler, $post_id );
  10.        
  11.         if ($setthumb) update_post_meta($post_id,'_thumbnail_id',$attach_id);
  12.        
  13.         // Update the post into the database
  14.         $my_post = array();
  15.         $my_post['ID'] = $attach_id;
  16.         $my_post['post_title'] = $_POST['titulo'];
  17.         $my_post['post_content'] = $_POST['comentario'];
  18.         wp_update_post( $my_post );
  19.        
  20.         return $attach_id;
  21.     }//function insert_attachment
  22.  
  23. // código innecesario de mostrar
  24.  
  25.     if ($_FILES['file']['error'] == 0 && $_POST['titulo'] != '') {
  26.         $filetype = wp_check_filetype(basename($_FILES['file']['name']), null );
  27.        
  28.         //echo $filetype['type']; exit;
  29.         if($filetype['type'] != 'image/jpeg'){
  30.             $fan_errores = true;
  31.             $fan_mensaje = '<p>Sólo imágenes JPG por favor.</p>';
  32.         }
  33.         else{
  34.             $post_id = 474;
  35.             foreach ($_FILES as $file => $array) {
  36.                 $newupload = insert_attachment($file,$post_id);
  37.                 // $newupload returns the attachment id of the file that
  38.                 // was just uploaded. Do whatever you want with that now.
  39.        
  40.                 $from = get_option('admin_email');
  41.                 $headers = 'From: '.$from . "\r\n";
  42.                 $headers .= 'Bcc: [email protected]' . "\r\n";
  43.                 $subject = "Nueva fan foto subida";
  44.                 $msg = "Han subido una fan foto.\nLuego modifico este email para dar más datos.";
  45.                 wp_mail( '[email protected]', $subject, $msg, $headers );
  46.             }//foreach
  47.            
  48.             header("Location: /fan-fotos/?gracias");
  49.         }//
  50.     }
  51.     else{
  52.         $fan_errores = true;
  53.         $fan_mensaje = '<p>Seguramente te olvidaste de elegir tu foto o tal vez de escribir un título. Dale de nuevo.</p>';
  54.     }//if ($_FILES['file']['error'] == 0 && $_POST['titulo'] != '')
  55.  
  56. // código innecesario de mostrar


Luego muestro 6 fotos aleatorias:

Código PHP:
Ver original
  1. function get_random_gallery_images(){
  2.     global $wpdb,$post;
  3.         $ids = "";
  4.         $counter = 0;
  5.         $number_of_posts = 6;
  6.  
  7.         $args = array(
  8.         'post_type'     => 'attachment',
  9.         'numberposts'   => $number_of_posts,
  10.         'post_status'   => null,
  11.         'orderby'       => 'rand',
  12.         'meta_key'      => '_mySelectBox',
  13.         'meta_value'    => 'fanfoto_aprobada',
  14.         'post_parent'   => 474
  15.         );
  16.         $attachments = get_posts($args);
  17.         if ($attachments) {
  18.             foreach ($attachments as $attachment) {
  19.  
  20.                 if ($counter != 0) {
  21.                     $ids .= ','.$attachment->ID;
  22.                 }
  23.                 else {
  24.                     $ids .= $attachment->ID;
  25.                 }
  26.                 $counter++;
  27.             }
  28.         }
  29.         return $ids;
  30. }
  31.  
  32. $attachment_ids = get_random_gallery_images();
  33. //echo $attachment_ids;
  34.  
  35. $fanfotos = new WP_Query('pagename=fan-fotos&showposts=1');
  36. while ($fanfotos->have_posts()) : $fanfotos->the_post();
  37. //  echo get_the_content();
  38.     echo do_shortcode('[gallery link="file" size="fan_fotos_thumb" include="'.$attachment_ids.'" orderby="rand" columns="0"]');
  39. endwhile; //$fanfotos


Las fotos aprobadas tienen un custom field con el valor fanfoto_aprobada que lo establece el responsable de dicha tarea a cada imagen.
__________________
...___...

Etiquetas: fotos, subida
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:59.