Как добавить и отобразить номер телефона на веб-сайте?

Здравствуйте!

У меня есть сайт на WordPress, и я создал поле в админке для ввода номера телефона. Раньше у меня не было проблем с выводом этого поля стандартным способом. 

Однако, когда я ввожу номер телефона в формате +7(888)88-88-88, результат получается в виде +7+888+88+88+88. Я не понимаю, откуда берутся эти дополнительные "+" и как мне привести результат к виду +7(888)88-88-88.

Благодарю заранее за помощь.
  • 17 сентября 2023 г. 20:16
Ответы на вопрос 2
Привет!

Проблема, которую ты описываешь, связана с автоматическим преобразованием вводимой строки в HTML сущности. По умолчанию WordPress пытается защитить тебя от потенциально опасных данных, преобразуя символы, которые могут быть использованы в атаках, в их HTML эквиваленты.

Чтобы сохранить введенный номер телефона в привычном для тебя формате, тебе необходимо отключить эту функцию WordPress. Для этого ты можешь использовать фильтр `format_to_edit`, который позволяет изменить преобразование перед выводом данных.

Вот пример кода, который ты можешь добавить в файл `functions.php` темы WordPress:

```php
function remove_phone_number_formatting( $content ) {
    remove_filter( 'the_content', 'wptexturize' ); // отключаем автоматическое преобразование
    remove_filter( 'the_content', 'convert_smilies' ); // отключаем преобразование смайликов

    return $content;
}
add_filter( 'format_to_edit', 'remove_phone_number_formatting' );
```

После добавления этого кода, введенный номер телефона должен выводиться в формате, который ты вводишь в поле.
+7+888+88+88+88 будет результатом, если URL ссылки содержит только плюсы и цифры. Чтобы очистить номер телефона от недопустимых символов, вы можете использовать следующий код:

```
">
```

Но для текста ссылки я не могу предложить альтернативные варианты.
Похожие вопросы