我无法弄清楚为什么 events_price 和 events_location 没有保存而 events_startdate 是。我已经以各种方式对此进行了测试,但它仍然没有保存数据。
function event_detail_box_content() {
global $post;
$custom = get_post_custom($post->ID);
$meta_sd = $custom["events_startdate"][0];
$meta_pr = isset( $custom['events_price'] ) ? esc_attr( $custom["events_price"][0]): ”;
$meta_lo = $custom["events_location"][0];
$meta_st = $meta_sd;
$time_format = get_option('time_format');
if ($meta_sd == null) { $meta_sd = time(); $meta_st = 0;}
$clean_sd = date("D, M d, Y", $meta_sd);
$clean_st = date($time_format, $meta_st);
wp_nonce_field( 'my_meta_box_nonce', 'meta_box_nonce' );
?>
<div class="tf-meta">
<ul>
<li><label>Event Date</label><input name="events_startdate" class="tfdate" value="<?php echo $clean_sd; ?>" /></li>
<li><label>Event Time</label><input name="events_starttime" value="<?php echo $clean_st; ?>" /><em>Use 24h format (7pm = 19:00)</em></li>
<li><label>Event Price</label><input name="events_price" value="<?php echo $meta_pr; ?>" /></li>
<li><label>Event Location</label><input name="events_location" value="<?php echo $meta_lo; ?>" /></li>
</ul>
</div>
<?php
print_r($custom);
}
add_action ('save_post', 'save_events');
function save_events($post_id){
if ( !wp_verify_nonce( $_POST['meta_box_nonce'], 'my_meta_box_nonce' ) ) return;
if ( !current_user_can( 'edit_post')) return;
if(!isset($_POST["events_startdate"])): return; endif;
$updatestartd = strtotime ( $_POST["events_startdate"] . $_POST["events_starttime"] );
update_post_meta($post_id, "events_startdate", $updatestartd );
update_post_meta($post_id, "events_price", $POST["events_price"] );
update_post_meta($post_id, "events_location", $POST["events_location"] );
}