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

[SOLUCIONADO] Crear formulario con custom post

Estas en el tema de Crear formulario con custom post en el foro de WordPress en Foros del Web. Hola amigos.. abro un nuevo hilo para hablar exclusivamente lo que no entiendo.. Estoy realizando una pagina en wordpress y estoy aprendiendo todas sus caracteristicas.. ...
  #1 (permalink)  
Antiguo 17/02/2016, 10:49
Avatar de giuli956  
Fecha de Ingreso: noviembre-2012
Mensajes: 149
Antigüedad: 11 años, 5 meses
Puntos: 1
Crear formulario con custom post

Hola amigos.. abro un nuevo hilo para hablar exclusivamente lo que no entiendo..

Estoy realizando una pagina en wordpress y estoy aprendiendo todas sus caracteristicas.. child themes, pluggins, etc..

Pero hay cosas que no encuentro.tengo el siguiente codigo en el archivo functions.php:

Código PHP:
Ver original
  1. add_action ('init', 'crear_post_type');function crear_post_type()  {
  2.     $labels = array(
  3.      'name' =>('Estudiantes'),
  4.      'singular_name' =>('Estudiantes'),
  5.      'all_items' =>('Todos los Estudiantes'),
  6.      'add_new' =>('Nuevo Estudiante'),
  7.      'add_new_item' =>('Añadir nuevo Estudiante'),
  8.      'edit_item' =>('Editar Estudiante'),
  9.      'new_item' =>('Nuevo Estudiante'),
  10.      'view_item' =>('Ver Estudiantes'),
  11.      'search_items' =>('Buscar Estudiante'),
  12.      'not_found' =>('No se han encontrado Estudiantes'),
  13.      'not_found_in_trash' =>('No hay Estudiantes elminados'),
  14.      'parent_item_colon' => ''
  15.     );
  16.  
  17.     $args = array(
  18.      'labels' => $labels,
  19.      'public' => true,
  20.      'publicly_queryable' => true,
  21.      'show_ui' => true,
  22.      'query_var' => true,
  23.      'rewrite' => true,
  24.      'capability_type' => 'post',
  25.      'hierarchical' => false,
  26.      'menu_position' => 5,
  27.      'supports' => array('title', 'editor', 'author', 'thumbnail'     ,'excerpt','comments')
  28.     );
  29.     register_post_type('Estudiantes', $args);
  30.   }

El mismo crea la pagina personalizada dentro del blog para estudiante y tiene "ver todos" y "nuevo".

Pêro yo quiero que aparezca un form con los labels que yo requiera con sus respectivos inputs obviamente.. para poder ingresar los atributos que yo decida...

Y ademas: como crear un button con codigo mysql(el motor que uso), es decir con la funcionalidad php que quiera? Y segundo: para esto debo crear las tablas en la misma base de datos en la que configure wordpress?

Les agradeceria alguna pistas o paginas de como hacerlo..
  #2 (permalink)  
Antiguo 17/02/2016, 13:16
Avatar de siddartha23  
Fecha de Ingreso: septiembre-2013
Mensajes: 357
Antigüedad: 10 años, 7 meses
Puntos: 39
Respuesta: Crear formulario con custom post

Tienes que complementar usando la función add_meta_box() y crear campos personalizados para que puedas agregar información extra en las entradas de tus CPT...
__________________
velarde23.com - Soluciones Web
  #3 (permalink)  
Antiguo 21/02/2016, 14:15
Avatar de giuli956  
Fecha de Ingreso: noviembre-2012
Mensajes: 149
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Crear formulario con custom post

Bueno al final logre hacerlo utilizando la funcion que dijiste.. de hecho la encontre en la web..

Pero como se crean en la bd los campos que necesito? los tengo que crear yo?

Y como hago para que se vea mi metabox y no lo que trae por defecto el wordpress?

Saludos
  #4 (permalink)  
Antiguo 21/02/2016, 21:09
Avatar de siddartha23  
Fecha de Ingreso: septiembre-2013
Mensajes: 357
Antigüedad: 10 años, 7 meses
Puntos: 39
Respuesta: Crear formulario con custom post

La función add_meta_box() tiene un callback para que incluyas el contenido del metabox que se va ver en la ventana de edición del post que vas a editar. Si no quieres que se vean los que trae por defecto puedes deshabilitarlos desde la opción que está en la parte superior derecha cuando editas el post (no recuerdo el nombre del botón, es un desplegable), o mejor aún, si lo consideras necesario puedes crear un Custom Post Type y asignarle solo los metabox que quieras que se muestren. :)

Por otro lado, la información la guardas en la tabla postmeta al momento de actualizar el post....
__________________
velarde23.com - Soluciones Web
  #5 (permalink)  
Antiguo 22/02/2016, 12:17
Avatar de giuli956  
Fecha de Ingreso: noviembre-2012
Mensajes: 149
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Crear formulario con custom post

Cita:
Iniciado por siddartha23 Ver Mensaje
La función add_meta_box() tiene un callback para que incluyas el contenido del metabox que se va ver en la ventana de edición del post que vas a editar. Si no quieres que se vean los que trae por defecto puedes deshabilitarlos desde la opción que está en la parte superior derecha cuando editas el post (no recuerdo el nombre del botón, es un desplegable), o mejor aún, si lo consideras necesario puedes crear un Custom Post Type y asignarle solo los metabox que quieras que se muestren. :)

Por otro lado, la información la guardas en la tabla postmeta al momento de actualizar el post....
Bueno la idea es hacer un registro de estudiantes con una foto de perfil (es lo que me piden)
Debo incluir un fichero .php con la funcion de upload(con carpeta de destino y los if)?
Y la funcion de save metabox se ejecuta cuando se da click en publish? o debo codificar un boton en el onclick?
Código HTML:
Ver original
  1. add_action( 'add_meta_boxes', 'add_estudiantes_metaboxes' );
  2.   function add_estudiantes_metaboxes()
  3. {
  4.    
  5.    // ID metabox, título metabox, función que muestra los atributos, tipo de post, zona metabox, prioridad
  6.    add_meta_box('campos estudiante', 'estuadiantes','est_meta_box_callback' );
  7. }
  8.  
  9. function est_meta_box_callback( $post ) {
  10.    ?>
  11.   <?php  {  ?>
  12.     <!--Nombre -->
  13.      <p>
  14.          <label class="label" for="text_meta_field"> Nombre</label>
  15.          <input  name="text_meta_field" id="nombre" type="text" value=""/>
  16.      </p>
  17.     <!--Apellido -->
  18.         <label class="label" for="text_meta_field"> Apellido</label>
  19.         <input  name="text_meta_field" id="apellido" type="text" value=""/>
  20.     <!--Imagen de perfil -->
  21.     <br />
  22.   <?php include ('uploadperfil.php');?>
  23.     <form enctype="multipart/form-data" action="uploadperfil.php" method="POST">
  24.  
  25.  
  26.     <input name="uploadedfile" type="file"/>
  27.     <input type="submit" name='upload' value="Subir archivo" />
  28.    
  29. </form>
  30. </form>
  31. <?php } }?>
  #6 (permalink)  
Antiguo 22/02/2016, 22:52
Avatar de siddartha23  
Fecha de Ingreso: septiembre-2013
Mensajes: 357
Antigüedad: 10 años, 7 meses
Puntos: 39
Respuesta: Crear formulario con custom post

Al momento que guardas o actualizas un post tienes un hook "'save_post'" que puedes aprovechar para guardar tu postmeta, por otro lado wordpress ya tiene integrado un sistema para subir imagenes, crear una instancia en la base de datos, recortar la imagen en distintos tamaños, etc. bien podrías aprovecharlo e incluir menos ficheros, preocuparte mas por la validación de tu postmeta...
__________________
velarde23.com - Soluciones Web
  #7 (permalink)  
Antiguo 25/02/2016, 01:51
Avatar de giuli956  
Fecha de Ingreso: noviembre-2012
Mensajes: 149
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Crear formulario con custom post

Cita:
Iniciado por siddartha23 Ver Mensaje
Al momento que guardas o actualizas un post tienes un hook "'save_post'" que puedes aprovechar para guardar tu postmeta, por otro lado wordpress ya tiene integrado un sistema para subir imagenes, crear una instancia en la base de datos, recortar la imagen en distintos tamaños, etc. bien podrías aprovecharlo e incluir menos ficheros, preocuparte mas por la validación de tu postmeta...
Y para obtener los datos que guarde al crear una nueva entrada como hago? osea al momento de ver una entrada en ver estudiantes por ejemplo no me aparece nada...
  #8 (permalink)  
Antiguo 25/02/2016, 10:12
Avatar de siddartha23  
Fecha de Ingreso: septiembre-2013
Mensajes: 357
Antigüedad: 10 años, 7 meses
Puntos: 39
Respuesta: Crear formulario con custom post

Por defecto no aparecen en las entradas, tienes que añadir la función get_post_meta() y pasarle como parámetros el ID del post y la palabra clave (clave -> valor) que has usado para guardar el dato...
__________________
velarde23.com - Soluciones Web
  #9 (permalink)  
Antiguo 25/02/2016, 10:16
Avatar de giuli956  
Fecha de Ingreso: noviembre-2012
Mensajes: 149
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Crear formulario con custom post

Cita:
Iniciado por siddartha23 Ver Mensaje
Por defecto no aparecen en las entradas, tienes que añadir la función get_post_meta() y pasarle como parámetros el ID del post y la palabra clave (clave -> valor) que has usado para guardar el dato...
Ok.. osea lo anterior ya lo logres..reviso postmeta y tengo los campos con su valor...

Pero entonces debo programar toda una plantilla... que se abra al momento de "Ver estudiantes"...
  #10 (permalink)  
Antiguo 25/02/2016, 10:30
Avatar de siddartha23  
Fecha de Ingreso: septiembre-2013
Mensajes: 357
Antigüedad: 10 años, 7 meses
Puntos: 39
Respuesta: Crear formulario con custom post

Claro, asumiendo que "estudiantes" es un CPT podrías crear un single-estudiantes.php, ahi copias el contenido de single.php y le agregas la función get_post_meta() donde quieres que aparezca el contenido que has guardado...
__________________
velarde23.com - Soluciones Web
  #11 (permalink)  
Antiguo 25/02/2016, 11:12
Avatar de giuli956  
Fecha de Ingreso: noviembre-2012
Mensajes: 149
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Crear formulario con custom post

Cita:
Iniciado por siddartha23 Ver Mensaje
Claro, asumiendo que "estudiantes" es un CPT podrías crear un single-estudiantes.php, ahi copias el contenido de single.php y le agregas la función get_post_meta() donde quieres que aparezca el contenido que has guardado...
Y porque al hacer click en publish, no aparecen los datos dentro del campo a modo de edicion..y al hacer click en "view post" dentro del post no se ve nada?

estoy seguro que los datos se guardan

Etiquetas: custom, formulario, php, post, theme
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 06:42.