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

[SOLUCIONADO] campo personalizado en wordpress no guarda datos

Estas en el tema de campo personalizado en wordpress no guarda datos en el foro de WordPress en Foros del Web. H ola amigos, les comento que estoy creando una pagina web de películas y quiero que a la hora de crear la publicación mis usuarios ...
  #1 (permalink)  
Antiguo 28/10/2013, 17:11
 
Fecha de Ingreso: junio-2010
Mensajes: 14
Antigüedad: 13 años, 10 meses
Puntos: 0
Pregunta campo personalizado en wordpress no guarda datos

Hola amigos, les comento que estoy creando una pagina web de películas y quiero que a la hora de crear la publicación mis usuarios ingresen algunos datos extras. pues mi problema es el siguiente, aunque e logrado que el campo personalizado aparezca en el momento de crear el post, no logro que este me guarde los datos que yo ingreso.



este es el código que uso en el archivo functions.php =

Código PHP:
Ver original
  1. add_action('admin_init', 'estrellasimdb_add_custom_box', 1);
  2. function estrellasimdb_add_custom_box() {
  3.     add_meta_box(
  4.         'id_estrellasimdb',
  5.         'Puntos IMDB',
  6.         'wp_box_estrellasimdb',
  7.         'post'
  8.     );
  9. }
  10.  
  11. function wp_box_estrellasimdb($post) {
  12. wp_nonce_field(plugin_basename(__FILE__), 'estrellasimdb_noncename');
  13. if($_GET['action']=='edit'){
  14. $estrellasimdb=get_post_meta($post->ID,'estrellasimdb',true);
  15. echo'<input name="estrellasimdb" type="text" value="'.$estrellasimdb.'" class="regular-text" style="width:100%" />';
  16. }else{
  17. echo'<input name="estrellasimdb" type="text" value="" class="regular-text" style="width:100%" />';    
  18. }
  19. }
  20.  
  21. add_action('save_post', 'guardar_estrellasimdb');
  22.  
  23. function guardar_estrellasimdb($post_id){
  24.   if ( !wp_verify_nonce( $_POST['codigo_estrellasimdb'], plugin_basename(__FILE__) ) )
  25.       return $post_id;
  26.  
  27.   if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE )
  28.       return $post_id;
  29.  
  30.    
  31.   if ( !current_user_can( 'edit_post', $post_id ) )
  32.         return $post_id;
  33.  
  34. delete_post_meta($post_id, 'estrellasimdb');
  35. if(!empty($_POST['estrellasimdb'])){
  36.   add_post_meta($post_id, 'estrellasimdb', esc_attr($_POST['estrellasimdb']));
  37. }
  38.  
  39. }

por que no me guarda los datos :S que debo hacer?, desde ya gracias por sus respuestas
  #2 (permalink)  
Antiguo 28/10/2013, 18:29
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 1 mes
Puntos: 1146
Respuesta: campo personalizado en wordpress no guarda datos

yo siempre uso esta estructura y nunca me ha fallado

Código PHP:
Ver original
  1. <?php
  2. add_action('admin_init', 'register_TypePost_fields');
  3. add_action('save_post', 'update_TypePost_fields');
  4. function register_TypePost_fields(){
  5.     add_meta_box('ID_fields', 'title fields', 'add_TypePost_fields', 'TypePost', 'normal', 'low');
  6. }
  7. function add_TypePost_fields(){
  8.     global $post;
  9.     $custom = get_post_custom($post->ID);
  10.     if(isset($custom['NameField'])){$NameField = $custom['NameField'][0];}
  11.     else{$NameField = '';}    
  12. ?>
  13. <div class="custom_fields">
  14.     <label>NameField:</label><br /><input name='NameField' value='<? echo $NameField; ?>' style="width: 100%;" />
  15. </div>
  16. <?php
  17. }
  18. function update_TypePost_fields(){
  19.     global $post;
  20.     if(isset($_POST['NameField'])){update_post_meta($post->ID, 'NameField', $_POST['NameField']);}
  21. }
  22. ?>
  #3 (permalink)  
Antiguo 28/10/2013, 18:42
 
Fecha de Ingreso: junio-2010
Mensajes: 14
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: campo personalizado en wordpress no guarda datos

mmmm puse eso pero ni siquiera me aparece el campo a la hora de crear el post
  #4 (permalink)  
Antiguo 28/10/2013, 18:44
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 1 mes
Puntos: 1146
Respuesta: campo personalizado en wordpress no guarda datos

actualizaste esta linea
Código PHP:
Ver original
  1. add_meta_box('ID_fields', 'title fields', 'add_TypePost_fields', 'TypePost', 'normal', 'low');

TypePost representa el nombre del tipo de post donde debe aparecer, ya sea post , page o algun custom post type que tu hayas creado.
  #5 (permalink)  
Antiguo 28/10/2013, 18:57
 
Fecha de Ingreso: junio-2010
Mensajes: 14
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: campo personalizado en wordpress no guarda datos

mmm no che nada no me guarda nada
  #6 (permalink)  
Antiguo 29/10/2013, 05:39
 
Fecha de Ingreso: junio-2010
Mensajes: 14
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: campo personalizado en wordpress no guarda datos

gracias por tu ayuda, igual me puse a toquetear mi código y no se que cambie que empezó a funcionar, solo que ahora tengo un dilema nos e si puedas ayudarme, te comento, que cree un campo con un textarea en el cual voy a colocar la ficha técnica de las películas, este es así:



pero a la hora de verse en el blog se muestra así:



por lo cual me gustaría saber si hay alguna forma de aplicarle html al texto que ingreso en el textarea para que al pasarlo al blog se vea con los efectos que le de en el textarea
  #7 (permalink)  
Antiguo 29/10/2013, 06:13
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años
Puntos: 656
Respuesta: campo personalizado en wordpress no guarda datos

Te paso un archivo que es lo que uso de base para hacer mis metaboxes.

http://www.summarg.com/demos/meta-box/meta-box.rar
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #8 (permalink)  
Antiguo 30/10/2013, 10:11
 
Fecha de Ingreso: junio-2010
Mensajes: 14
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: campo personalizado en wordpress no guarda datos

muchas gracias a ambos :) ya lo solucione

Etiquetas: campo, personalizado, php, plugin, post
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 09:41.