在保存自定义字段值的函数中,我添加了一些检查,以防止在自动保存或快速编辑期间清除这些值。
add_action(\'save_post\', \'save_my_post\');
function save_my_post($post_id)
{
// Stop WP from clearing custom fields on autosave,
// and also during ajax requests (e.g. quick edit).
if ((defined(\'DOING_AUTOSAVE\') && DOING_AUTOSAVE) || (defined(\'DOING_AJAX\') && DOING_AJAX))
return;
// Clean, validate and save custom fields
$myfield = ( ! isset($_POST[\'myfield\'])) ? \'\' : strval($_POST[\'myfield\']);
update_post_meta($post_id, \'myfield\', $myfield);
}
但是,在批量编辑的情况下,自定义字段似乎仍然被清除。这个
DOING_AUTOSAVE
和
DOING_AJAX
检查不适用于批量编辑。
我知道你不能打电话update_post_meta
如果适用$_POST
未设置变量。不过,在复选框的情况下,这是行不通的。
理想情况下,一个简单的检查来确定我们是否处于批量编辑中,就可以完成这项工作。想法?