Criei dois itens numa meta box para um custom type. Porém, quando vou exibir na view, ele aparece como NULL, e o var_dump da $schedule_meta_data mostra que ele nem existe lá. Seguem códigos:
<?php
// Register and save metabox informations
function register_schedule_meta_boxes() {
add_meta_box(
'info_schedule',
'Horários',
'info_schedule_view',
'programa',
'normal',
'high'
);
}
add_action('add_meta_boxes','register_schedule_meta_boxes');
// get_post_meta pega as meta informacoes do post dado
function info_schedule_view($post ) {
$schedule_meta_data = get_post_meta( $post->ID ); ?>
<div class="radio-metabox">
<div class="radio-metabox-item">
<label for="radio-start-input">Horário de início:</label>
<input id="radio-start-input" class="radio-metabox-input" type="text" name="start_id" value="<?= $schedule_meta_data['start_id'][0]; ?>">
</div>
<div class="radio-metabox-item">
<label for="radio-end-input">Horário de fim:</label>
<input id="radio-end-input" class="radio-metabox-input" type="text" name="end_id" value="<?= $schedule_meta_data['end_id'][0]; ?>">
</div>
</div>
<?php
}
// Salvar informações dos metaboxes criados com a funcao update_post_meta e limpar erros de escrita com sanitize_text_field
function save_meta_info_schedule( $post_id ) {
if( isset($_POST['start_id']) ) {
update_post_meta( $post_id, 'start_id', sanitize_text_field( $_POST['start_id'] ) );
}
if( isset($_POST['end_id']) ) {
update_post_meta( $post_id, 'end_id', sanitize_text_field( $_POST['end_id'] ) );
}
}
add_action('save_post', 'save_meta_info_schedule');
?>
// show in the view
<?php
$args = array(
'post_type' => 'programa',
'posts_per_page' => 6
);
$schedule = new WP_Query( $args );
$schedule_meta_data = get_post_meta( $post->ID );
?>
<div class="tab-content">
<div id="<?= $taxonomy->slug; ?>" class="tab-pane fade in active">
<div class="row">
<?php if ($schedule->have_posts()) : while ($schedule->have_posts()) : $schedule->the_post(); ?>
<div class="col-md-4">
<div class="schedule" data-image="">
<div class="schedule-text">
<h3><?php the_title(); ?></h3>
<h2 class="textFront"><?php echo $schedule_meta_data['start_id'][0]; ?>h - <?php echo $schedule_meta_data['end_id'][0]; ?>h</h2>
<h4 class="textBack"><?php the_content(); ?></h4>
</div>
</div>
</div>
<?php
endwhile; else: endif;
wp_reset_query();
?>
<!-- /row -->
</div>
<!-- /tab -->
</div>
<!-- /tab-content -->
Agradeço desde já, Amanda Tavares.