Buenas!!!
Estoy creando un tipo de producto (en un custom post type) que requiere de custom fields para ingresar determinada información.
Todo funciona perfectamente, pero cuando hay un autosave se borra el contenido de "tipodeproducto", "precios" y "hotfeatures", mis custom fields.
Código PHP:
Ver originaladd_action('init', 'licencias_register');
function licencias_register() {
$labels = array(
'name' => _x('Licencias', 'Post type'),
'singular_name' => _x('Licencia', 'Nombre singular del post type'),
'add_new' => _x('Añadir', 'agregar licencia'),
'add_new_item' => __('Añadir licencia'),
'edit_item' => __('Editar licencia'),
'new_item' => __('Nueva licencia'),
'view_item' => __('Ver licencia'),
'search_items' => __('Buscar en licencias'),
'not_found' => __('Nada encontrado'),
'not_found_in_trash' => __('Nada encontrado en la papelera'),
'parent_item_colon' => ''
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'query_var' => true,
'menu_icon' => get_stylesheet_directory_uri() . '/images/icono.png',
'rewrite' => true,
'capability_type' => 'post',
'hierarchical' => false,
'menu_position' => null,
'supports' => array('title','editor','thumbnail')
);
register_post_type( 'licencia' , $args );
}
add_action("admin_init", "admin_init");
function admin_init(){
add_meta_box("licencia_meta", "Información adicional", "licencia_meta", "licencia", "normal", "low");
}
function licencia_meta() {
global $post;
$custom = get_post_custom($post->ID);
$tipodeproducto = $custom["tipodeproducto"][0];
$precios = $custom["precios"][0];
$hotfeatures = $custom["hotfeatures"][0];
?>
<p><label>Tipo de producto:</label><br />
<textarea cols="50" rows="1" name="tipodeproducto"><?php echo $tipodeproducto; ?></textarea></p>
<p><label>Precios:</label><br />
<textarea cols="50" rows="2" name="precios"><?php echo $precios; ?></textarea></p>
<p><label>Hot features (listas HTML):</label><br />
<textarea cols="50" rows="5" name="hotfeatures"><?php echo $hotfeatures; ?></textarea></p>
<?php
}
add_action('save_post', 'save_details');
function save_details(){
global $post;
update_post_meta($post->ID, "tipodeproducto", $_POST["tipodeproducto"]);
update_post_meta($post->ID, "precios", $_POST["precios"]);
update_post_meta($post->ID, "hotfeatures", $_POST["hotfeatures"]);
}
Leí sobre el problema en varios lados y la única solución que me pareció que podía andar.. no resultó:
http://wordpress.org/support/topic/c...n-disappearing
Así que momentáneamente puse un tiempo de autosave larguiiiiisimo, pero no es una solución aceptable, sino algo para salir del paso.
Alguien tiene alguna idea al respecto?