
giulichajari
Gamma
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
hola amigos.. tengo el siguiente codigo para crear un custom post para un registro de estudiantes.. me aparece el menu estudiantes donde tengo ver todos y nuevo estudiante.. pero en nuevo no me aparecen los campos que quiero..
Les agradezco su ayuda
PHP:
add_action ('init', 'crear_post_type');function crear_post_type() {
$labels = array(
'name' =>('Estudiantes'),
'singular_name' =>('Estudiantes'),
'all_items' =>('Todos los Estudiantes'),
'add_new' =>('Nuevo Estudiante'),
'add_new_item' =>('Añadir nuevo Estudiante'),
'edit_item' =>('Editar Estudiante'),
'new_item' =>('Nuevo Estudiante'),
'view_item' =>('Ver Estudiantes'),
'search_items' =>('Buscar Estudiante'),
'not_found' =>('No se han encontrado Estudiantes'),
'not_found_in_trash' =>('No hay Estudiantes elminados'),
'parent_item_colon' => ''
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'query_var' => true,
'rewrite' => true,
'capability_type' => 'post',
'hierarchical' => false,
'menu_position' => 5,
'supports' => array('title', 'editor', 'author', 'thumbnail' ,'excerpt','comments')
);
register_post_type('Estudiantes', $args);
}
// Acción que llama a la función que añade el metabox para los estudiante
add_action( 'add_meta_boxes', 'add_estudiantes_metaboxes' );
function add_estudiantes_metaboxes()
{
// ID metabox, título metabox, función que muestra los atributos, tipo de post, zona metabox, prioridad
add_meta_box( $id, $title, $callback, $page, $context, $priority, $callback_args );
}
// Función que muestra los atributos del estudiante
function estudiante()
{
global $post;
// Noncename necesario para verificar de dónde vienen los datos
echo '<input type="hidden" name="estudiantemeta_noncename" id="estudiantemeta_noncename" value="' .
wp_create_nonce( plugin_basename(__FILE__) ) . '" />';
echo '<p>Nombre y Apellido</p>';
echo '<input type="text" name="_nombre" value="' . $nombre . '" class="widefat" />';
echo '<p>Fecha de nacimiento</p>';
echo '<input type="text" name="_fechanac" value="' . $fechanac . '" class="widefat" />';
echo '<p>Foto</p>';
echo '<input type="text" name="_fechanac" value="' . $foto . '" class="widefat" />';
}
// Guarda los campos personalizados
function save_estudiante_meta($post_id, $post)
{
// Comprobación de seguridad para que no se acceda desde otros sitios
if ( !wp_verify_nonce( $_POST['estudiantemeta_noncename'], plugin_basename(__FILE__) )) {
return $post->ID;
}
// Comprobación de que el usuario actual puede editar
if ( !current_user_can( 'edit_post', $post->ID ))
return $post->ID;
// Obtenemos los atributos guardados en POST cuando guardamos nuestra página de artículo
$estudiante_meta['_nombre'] = $_POST['_nombre'];
$estudiante_meta['_fechanac'] = $_POST['_fechanac'];
// Guardamos los valores de los atributos como campos personalizados
foreach ($estudiante_meta as $key => $value)
{
if( $post->post_type == 'revision' ) return; // No guardamos si el post es una revisión
if(get_post_meta($post->ID, $key, FALSE))
{
// Si el atributo ya existía, lo actualizamos
update_post_meta($post->ID, $key, $value);
}
else
{
// Si no existía, lo añadimos nuevo
add_post_meta($post->ID, $key, $value);
}
// Si el valor está en blanco, eliminamos el atributo
if(!$value) delete_post_meta($post->ID, $key);
}
}
// Llamamos a guardar los atributos cuando guardemos el estudiante
add_action('save_post', 'save_estudiante_meta', 1, 2);
Les agradezco su ayuda