2013-02-21 51 views
1

我不明白为什么events_price和events_location没有保存,而events_startdate是。我已经以这种方式测试了这一点,但它仍然没有保存数据。Wordpress元框保存不起作用

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"]); 
} 

回答

4

你对你的$_POST变量

缺少下划线
update_post_meta($post_id, "events_price", $POST["events_price"]); 

update_post_meta($post_id, "events_location", $POST["events_location"]); 

应该

update_post_meta($post_id, "events_price", $_POST["events_price"]); 

update_post_meta($post_id, "events_location", $_POST["events_location"]); 
+0

谢谢!你救了我。 – MG1 2013-02-21 15:34:07