使用act / save_post从保存上的高级自定义字段数据中删除空格

时间:2015-08-09 21:39:52

标签: php wordpress preg-replace advanced-custom-fields

当我在wordpress中更新或保存自定义帖子时,我试图从输入到ACF插件生成的自定义字段中的数据中自动删除空格。

我相信我需要使用acf / save_post钩子,但我正努力让preg_replace工作。我想知道我是否使用了正确的标识符,因为自定义字段名称具有字段名称的邮政编码,但在检查时它具有名称字段[field_55c7969262970]。似乎无法使其与之合作。

function remove_spaces( $post_id ) {
if( empty($_POST['postcodes']) ) {       
    return;   
} else{
$postcodes = $_POST['postcodes'];   
$postcodes = preg_replace('/\s+/', '', $postcodes);
return $postcodes;  }      
}
add_action('acf/save_post', 'remove_spaces', 1);

1 个答案:

答案 0 :(得分:1)

我认为您最好使用acf/update_value过滤器。来自thr文档:"此钩子允许您在将字段保存到数据库之前修改字段的值。"

function remove_spaces($value, $post_id, $field) {
    if(empty($value)) {       
        return;   
    }

    $value = preg_replace('/\s+/', '', $value);
    return $value;
}

add_filter('acf/update_value/name=postcodes', 'remove_spaces', 10, 3);