使用 act/ save_post 从保存的高级自定义字段数据中删除空格
Remove Spaces from Advanced Custom Field data on Save using act/ save_post
当自定义 post 更新或保存在 wordpress 中时,我正在尝试从输入到由 ACF 插件生成的自定义字段的数据中自动删除空格。
我认为我需要使用 acf/save_post 挂钩,但我正在努力让 preg_replace 工作。我想知道我是否没有使用正确的标识符,因为自定义字段名称具有字段名称 postcodes 但在检查时它具有名称字段 [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);
我认为您最好使用 acf/update_value
过滤器。从码头:"This hook allows you to modify the value of a field before it is saved to the database."
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);
当自定义 post 更新或保存在 wordpress 中时,我正在尝试从输入到由 ACF 插件生成的自定义字段的数据中自动删除空格。
我认为我需要使用 acf/save_post 挂钩,但我正在努力让 preg_replace 工作。我想知道我是否没有使用正确的标识符,因为自定义字段名称具有字段名称 postcodes 但在检查时它具有名称字段 [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);
我认为您最好使用 acf/update_value
过滤器。从码头:"This hook allows you to modify the value of a field before it is saved to the database."
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);