Кодирование контактных данных с помощью шорткода и хука для сторонних плагинов
- Хук для исключения страниц из защиты контактных данных
- Хуки для редактирования фраз в опции кодирования контактных данных
Обратите внимание что для корректной работы этих хуков Анти-Спам плагин CleanTalk должен быть установлен и активирован.
В этой статье объясняется, как с помощью шорткодов и хуков CleanTalk кодировать и защищать контактные данные. Материал будет особенно полезен веб-разработчикам и владельцам сайтов, которые хотят скрыть конфиденциальную информацию (например, email-адреса или телефоны) от спам-ботов, оставив её доступной для реальных пользователей.
Эти методы работают даже в том случае, если основная опция "Кодировать контактные данные" отключена, а также работают для авторизованных пользователей.
Использование Шорткода
Добавьте следующий код непосредственно в ваш контент с помощью визуального редактора.
[apbct_encode_data]любой текст для кодирования[/apbct_encode_data]
Добавьте атрибут mode для настройки вывода (скройте закодированный текст под символом "*")
[apbct_encode_data mode="obfuscate"]любой текст для кодирования[/apbct_encode_data]
Добавьте атрибуты mode и replacing_text для настройки вывода (спрячьте закодированный текст под подсказкой)
[apbct_encode_data mode="replace" replacing_text="кликни-чтобы-декодировать"]любой текст для кодирования[/apbct_encode_data]
Функция шифрует указанный текст, скрывая его от парсеров и ботов на публичной стороне сайта. Легитимные пользователи смогут декодировать информацию в один клик, по аналогии с защитой адресов электронной почты.
Важно: шорткод не работает внутри HTML-тегов.
Использование Хука
Для разработчиков хук apbct_encode_data позволяет гибко кодировать любые данные прямо в исходном коде. Оберните любой текст, который вы хотите закодировать, с помощью этого хука следующим образом:
function encode_contact_data_example () {
$encoded_text = apply_filters('apbct_encode_data', 'any text to encode');echo $encoded_text;
}
add_action( 'wp_footer', 'encode_contact_data_example');
Переменная $encoded_text будет содержать закодированную версию текста "любой текст для кодирования". Отобразите эту переменную на странице, и она станет доступной для пользователей по клику, оставаясь скрытой от ботов.
Результат можно увидеть здесь:

Используя эти методы, вы сможете контролировать, какая информация видна ботам, и обеспечить безопасный доступ легитимных пользователей к закодированным контактным данным.
Хук для исключения страниц из защиты контактных данных
Опция защиты контактных данных защищает адреса электронной почты и телефонные номера на вашем сайте от спам-ботов. Тем не менее, иногда возникает необходимость исключить конкретные страницы из процесса шифрования. В таких ситуациях вы можете воспользоваться хуком apbct_skip_email_encoder_on_uri_chunk_list.
Как работает хук
Хук использует серверную переменную REQUEST_URI, которая содержит всю часть адреса после домена и до начала GET-параметров. Например:
- URL: https://website.me/hotel-rooms&test-get-param=1 → REQUEST_URI = hotel-rooms
- URL: https://website.me/hotel-rooms/details/&test-get-param=1 → REQUEST_URI = hotel-rooms/details
При проверке исключений плагин сравнивает заданные вами правила с переменной REQUEST_URI. Если правило совпадает с частью этой строки, кодирование данных для данной страницы будет отключен.
- Rule 'details' excludes https://website.me/hotel-rooms/details/&test-get-param=1.
- Rule 'hotel-rooms/details' also excludes the same page, since it matches the URI.
Как использовать:
- Откройте файл functions.php вашей темы.
- Добавьте следующий код:
add_filter('apbct_skip_email_encoder_on_uri_chunk_list', function($url_chunk_list) { $url_chunk_list = array( '^/$', // skip encoding on homepage (option 1) '__HOME__', // skip encoding on homepage (option 2) 'page_id=19', // skip encoding on https://website.me/?page_id=19 'hotel-rooms/details', // skip encoding on https://website.me/hotel-rooms/details/ 'details', // skip encoding on any URL containing "details" ); return $url_chunk_list; });
В данном случае все контактные данные останутся видимыми на этих страницах, в то время как все остальные страницы останутся защищенными.
- Страница https://website.me/hotel-rooms будет исключена из проверки (правило: 'hotel-rooms')
- Страница https://website.me/hotel-rooms/details/ так же будет исключена из проверки (правило: 'hotel-rooms/details' или 'details')
Важно:
Если вы добавите этот код в файл functions.php основной темы, он будет утерян после обновления темы, и исключения перестанут работать. Чтобы гарантировать сохранение кода, всегда используйте дочернюю тему.
Хуки для редактирования фраз в опции кодирования контактных данных
Начиная с версии 6.52 плагина Анти-Спам от Cleantalk, появилась возможность изменить некоторые фразы в опции кодирования контактных данных. На данный момент вы можете изменить три фразы с помощью специальных хуков. Данные фразы отображаются в модальном окне во время процесса декодирования контактных данных:
- The magic is on the way!
- The complete one is ...
- Please wait a few seconds while we decode the contact data.
Хуки для редактирования:
- apbct__ee_wait_for_decoding_text
- apbct__ee_original_email_text
- apbct__ee_decoding_process_text
Чтобы отредактировать фразы, добавьте обработчики хуков в файл functions.php.
Пример:
add_filter('apbct__ee_wait_for_decoding_text', function ($_original_text) {
return 'Other text for `wait for decoding`';
});
add_filter('apbct__ee_decoding_process_text', function ($_original_text) {
return 'Other text for `decoding process`';
});
add_filter('apbct__ee_original_email_text', function ($_original_text) {
return 'Other text for `original email`';
});
Измененные фразы показаны на скриншотах.

