2011-01-27 41 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