Как отключить автопроизвольный звонок в WordPress без плагинов

В некоторых случаях на сайтах WordPress может возникать проблема с автопроизвольным запуском телефонных звонков при клике на номер телефона. Это часто происходит из-за автоматического преобразования номеров телефонов в ссылки с протоколом tel:, что особенно актуально для мобильных пользователей. В этой статье мы разберем, как отключить такую функцию без установки дополнительных плагинов, используя кодовые решения и советы по оптимизации.

Почему в WordPress происходит автозвонок и зачем его отключать

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

Кроме того, некоторые плагины и темы добавляют такие ссылки автоматически через JavaScript или фильтры WordPress, что также может вызвать нежелательное поведение — например, звонок по ошибке при простом клике.

Отключение автозвонка особенно важно для сайтов, где номера телефонов используются как текстовые данные, например, в контактных формах, в описаниях услуг или в новостных статьях.

Отключение автоматического создания ссылок tel в WordPress через фильтры

WordPress имеет встроенную функцию wpautop(), которая иногда может влиять на автоматическое создание ссылок. Однако, для управления именно преобразованием номеров в ссылки, можно использовать фильтр wp_kses_allowed_html или собственные фильтры для удаления тегов <a href="tel:">.

Рассмотрим пример, как полностью запретить автоматическое создание ссылок на телефоны, отключив фильтр, который отвечает за это:

function yelly_disable_tel_links() {
    remove_filter('the_content', 'wpautop');
    remove_filter('the_excerpt', 'wpautop');
}
add_action('init', 'yelly_disable_tel_links');

Однако такой подход может негативно повлиять на автоматическое форматирование абзацев. Более точечное решение — использовать фильтр wp_kses_allowed_html и запретить разрешать ссылки с протоколом tel:.

Пример удаления ссылок tel из контента

Создадим функцию, которая будет искать все ссылки с протоколом tel: и удалять их, оставляя только текст номера:

function yelly_remove_tel_links( $content ) {
    return preg_replace('/<a href="tel:[^"]+">([^<]+)<\/a>/i', '$1', $content);
}
add_filter('the_content', 'yelly_remove_tel_links');

Этот код проверяет весь контент записи и заменяет ссылки на номера телефонов на обычный текст, что полностью отключает возможность автопроизвольных звонков.

Использование CSS для отключения кликов по ссылкам tel

Если по каким-то причинам удалять ссылки нельзя (например, они нужны для SEO или мобильных пользователей), можно отключить клики по ним с помощью CSS. Это простой и быстрый способ.

Добавьте в файл style.css вашей темы или в раздел кастомных стилей следующий код:

a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
    color: inherit;
    text-decoration: none;
}

Этот стиль сделает все ссылки с телефоном некликабельными, при этом визуально они останутся как обычный текст. Для пользователей это значит, что звонок не запустится при клике.

Пример создания шорткода для вывода номера без ссылки

Если на сайте часто используются номера телефонов, и нужно выводить их без ссылок, удобнее создать шорткод, который будет выводить номер безопасно и без автоматического преобразования.

function yelly_phone_shortcode( $atts ) {
    $atts = shortcode_atts( array(
        'number' => '',
    ), $atts, 'phone' );

    if ( empty( $atts['number'] ) ) {
        return '';
    }

    // Экранируем номер, чтобы он не преобразовывался
    $safe_number = esc_html( $atts['number'] );

    return '<span class="phone-number">' . $safe_number . '</span>';
}
add_shortcode( 'phone', 'yelly_phone_shortcode' );

Теперь в контенте можно писать [phone number="+7 (999) 123-45-67"], и номер отобразится как обычный текст без ссылки и автозвонка.

Плагины для управления телефонными номерами и автозапуском звонков

Если хочется более гибко управлять отображением номеров и звонками, можно использовать специальные плагины. Например, плагин My Popup позволяет создавать всплывающие окна с контактами и настраивать кликабельность номеров.

Другие полезные плагины с похожим функционалом:

Использование плагинов дает возможность не только отключать автозвонок, но и делать номера интерактивными с дополнительными функциями.

Советы по тестированию и отладке отключения автозвонков

После внесения изменений важно проверить работу сайта на разных устройствах и браузерах. Особенно важно проверить мобильные браузеры, так как именно они запускают звонки по tel: ссылкам.

Для отладки можно использовать инструменты разработчика в браузере, чтобы увидеть, как формируются ссылки на номера, и убедиться, что они либо удалены, либо отключены.

Если изменения не применяются, возможно, нужно очистить кеш сайта и браузера, а также проверить, не переопределяет ли тему или плагины ваши настройки.

Выводы и рекомендации

Отключение автопроизвольного звонка в WordPress — задача, которая решается несколькими способами: от удаления ссылок через фильтры и регулярные выражения до блокировки кликов через CSS. Выбор способа зависит от требований к сайту и удобства пользователей.

Использование кастомных шорткодов помогает стандартизировать вывод номеров без ссылок, а плагины из каталога WPSHOP расширяют возможности управления контактами на сайте.

Обязательно тестируйте все изменения на мобильных устройствах, чтобы убедиться, что нежелательные автозвонки не происходят.

Как использовать хуки в WordPress для автоматизации задач
26.11.2025
Как изменить URL адрес AJAX в WordPress: практические решения и примеры
02.01.2026
Как удалить соседние символы в URL WordPress для улучшения SEO и удобства
16.01.2026
Как изменить автозаголовки постов в WordPress: практические решения и примеры кода
03.02.2026
Как создать автоматический редирект в WordPress: практические примеры и плагины
09.11.2025