我正在嘗試使用自定義帖子類型將後期元數據保存在數據庫中。問題是我無法存儲meta_key,唯一存儲的是元值。我有兩個文本框,其中一個用於事件日期,另一個用於事件名稱。我試圖在元鍵上存儲日期,並在值上存儲事件。問題在於它只存儲在元值上,而我不確定元鍵。另外你如何在同一篇文章中存儲多個元鍵和元值?任何想法這個語法的哪一部分是錯誤的?謝謝:)在wp_postmeta中保存自定義字段
function add_calendar_metaboxes() {
add_meta_box('wpt_calendar_location', 'Event Date', 'wpt_calendar_location', 'calendar_holiday', 'normal', 'default');
}
// The Event Location Metabox
function wpt_calendar_location() {
global $post;
echo "<form method=\"POST\">";
// Noncename needed to verify where the data originated
echo '<input type="hidden" name="eventmeta_noncename" id="eventmeta_noncename" value="' .
wp_create_nonce(plugin_basename(__FILE__)) . '" />';
// Get the location data if its already been entered
$event_name = get_post_meta($post->ID, '_event_name', true);
$event_date = get_post_meta($post->ID, '_event_date', true);
echo '<label>Event Date</label><input type="text" name="_event_date" value="' . $event_date . '" />';
echo '<label>Event Name</label><input type="text" name="_event_name" value="' . $event_name . '" />';
echo '<input type="submit" name="Submit">';
echo '</form>';
}
// Save the Metabox Data
function wpt_save_events_meta($post_id, $post) {
if (!wp_verify_nonce($_POST['eventmeta_noncename'], plugin_basename(__FILE__))) {
return $post->ID;
}
if (!current_user_can('edit_post', $post->ID))
return $post->ID;
$events_meta[] = array($_POST['_event_date'] => $_POST['_event_name']);
foreach ($events_meta as $key => $value)
{
if($post->post_type == 'revision') return;
$value = implode(',', (array)$value);
if(get_post_meta($post->ID, $key, FALSE))
{
update_post_meta($post->ID, $key, $value);
}
else
{
add_post_meta($post->ID, $key, $value);
}
if(!$value) delete_post_meta($post->ID, $key);
}
}
add_action('save_post', 'wpt_save_events_meta', 1, 2);
我真的不明白這個問題..你是什麼意思它只保存meta_value? –
是的,先生。我認爲我的儲蓄功能是錯誤的。我如何使用自定義字段保存自己的meta_key和meta_value?你可以看到我有兩個文本框。但我只能保存一個價值。任何想法先生? – user2901740