添加新发布(自定义发布类型)删除1个发布的自定义元数据

时间:2011-10-09 作者:Ashley Staggs

function save_details( $post_id ){  
if ( wp_is_post_revision( $post_id ) )
    $post_id = wp_is_post_revision( $post_id );

update_post_meta( $post_id, "testimonyname", $_POST["testimonyname"] );
}  
add_action(\'save_post\', \'save_details\', 10, 1); 
我有一个带有自定义字段的自定义帖子类型,但添加了几个后,我注意到自定义字段中的数据在以前的一些条目中丢失了。

我又填了一遍,看起来不错。

然后,我只点击了一次添加新按钮,我的一篇文章就删除了它的自定义元数据。

但是,并不是每次单击“添加新内容”时都会发生这种情况。

我尝试过这个解决方案,但没有效果

if ( defined(\'DOING_AUTOSAVE\') && DOING_AUTOSAVE )
非常感谢您的帮助,谢谢,Ashley

2 个回复
最合适的回答,由SO网友:Ashley Staggs 整理而成

if(isset($_POST["testimonyname"]))
将此代码放在update\\u post\\u meta行之前非常有效。

SO网友:Ryan

我认为这不会奏效——至少在所有情况下不会。这将测试$_POST[\'some_custom_variable\'] 为空,如果为空,则不会更新。如果自定义字段始终包含一个值,那么这很好,但是您无法使用此代码清空自定义字段的值。

我遇到了一个类似的问题,发现更改了以下操作调用:

add_action(\'save_post\', \'save_details\', 10, 1);

add_action(\'post_updated\', \'save_details\', 10, 1);

在我的情况下工作过。

结束

相关推荐