Еще одна возможная причина проблемы с функциями preg_replace() и str_replace() в WordPress может быть связана с тем, что вы их неправильно используете.
В WordPress некоторые функции имеют специфический синтаксис и требуют правильного обращения к параметрам. Например, функция str_replace() принимает три параметра: значение для замены, значение замены и строку, в которой нужно произвести замену. Вы должны передать эти параметры в правильном порядке.
В случае с полем "цена" вы можете использовать функцию str_replace() следующим образом:
```php
<?php
$price = get_field('price'); // Получение значения поля "цена"
$price_without_spaces = str_replace(' ', '', $price); // Удаление пробелов
echo $price_without_spaces; // Вывод значения без пробелов
?>
```
В этом примере мы сначала получаем значение поля "цена" с помощью функции get_field(). Затем мы применяем функцию str_replace() для удаления пробелов, передавая значение для замены (пробел) в первый параметр и пустую строку во второй параметр. Наконец, мы выводим измененное значение с помощью echo.
Проверьте этот пример и убедитесь, что вы правильно использовали функцию str_replace() и что она работает в вашей установке WordPress.
Проверьте, возможно, что функция the_sub_field выполняет только вывод и не возвращает значение. Чтобы получить результат вычисления функции, вам нужно использовать другую функцию, которая вернет значение, а не выведет его на экран. Вот пример, как это сделать:
```
<?php
$price = get_sub_field('price');
$formatted_price = preg_replace('/\s+/', '', $price);
echo $formatted_price;
?>
```
В этом примере мы используем функцию get_sub_field вместо the_sub_field, чтобы получить значение поля price. Затем мы применяем функцию preg_replace, чтобы удалить все пробелы из этого значения. Наконец, мы выводим отформатированное значение на экран с помощью функции echo.