2011-01-27 38 views
2

我與WordPress的自動保存不發送自定義字段數據的問題,並發現SO此項:自動保存和自定義字段在WordPress

Wordpress add_meta_box() weirdness

經批准的答案的作品,但它不只是防止任何自動保存從早期返回發生?是不是完全禁用自動保存一樣?如果是這樣,用適當的方式這樣做會不會更好,而不是讓它自動保存以防止它?

我可以看到的唯一例外是,如果在檢查自動保存之前檢查了後類型,那麼您只會禁用某些帖子類型的自動保存。

我將完全禁用自動保存,但想知道你們是怎麼想的。

編輯:我沒有自動保存問題了。這個問題是討論我上面提到的解決方案的優點。

此外,我不明白這將是WordPress的一個功能,並假設自動保存應更改爲包括所有發佈數據。沒有?

+0

爲什麼這個問題關閉? –

回答

2

在鏈接的答案的代碼不會禁用自動保存,它只是停止自定義的保存自動保存時執行的函數。這是必要的,因爲Wordpress自動保存系統不支持後期元數據(自定義字段),無論是在整理髮布數據的Javascript中,還是在PHP中創建和恢復修訂版本。

+0

我知道它並沒有明確禁用自動保存,但不是它在做什麼?是不是代碼附加一個額外的功能的保存事件,基本上說,如果它是一個自動保存,不要做任何事情? –

+0

哦,我想我明白你在說什麼......自動保存仍在繼續,但不包括將會發生的空白自定義插槽。所以自動保存工作,但只能自動保存標題/編輯器/等。默認字段? 感謝您的解釋。 –

1

我已經使用了以下自定義字段我創建,它的工作正常。

<?php 
// Save Fields 
add_action('save_post', 'save_details'); 

function save_details(){ 
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) 
    return $post_id; 
global $post; 
update_post_meta($post->ID, "event_featuring", $_POST["event_featuring"]); 
update_post_meta($post->ID, "event_time", $_POST["event_time"]); 
update_post_meta($post->ID, "event_date", $_POST["event_date"]); 
update_post_meta($post->ID, "event_end_date", $_POST["event_end_date"]); 
update_post_meta($post->ID, "event_location", $_POST["event_location"]); 
update_post_meta($post->ID, "bhs_event", $_POST["bhs_event"]); 
} 
?> 
+0

對不起,我知道它工作正常,但我的問題更多的是關於它是否真的是一個好的解決方案,或者它是否可以在事件鏈的早期修復。關於解決方案優點的更一般的問題。 –

+1

我的不好。我真的不確定。我剛剛創建了meta_box,所以我很快粘貼了我的工作代碼。我應該更多地閱讀你的問題。 – rmlumley