Один из наших клиентов использует Elementor в качестве конструктора страниц WordPress. За последние несколько месяцев мы помогли им оптимизировать свою деятельность по входящему маркетингу, сократив количество внедренных настроек и улучшив системную коммуникацию, включая аналитику.

Клиент имеет доступ к LiveChat, фантастическому чат-сервису с мощной интеграцией с Google Analytics на каждом этапе процесса чата. LiveChat имеет очень хороший API для интеграции с вашим веб-сайтом, включая возможность открытия окна чата с помощью события onClick в теге привязки.

Вот как это выглядит:

<a href="#" onclick="parent.LC_API.open_chat_window();return false;">Chat Now!</a>

Это удобно, когда вы можете редактировать основной код или добавлять собственный HTML. Однако в Elementor платформа заблокирована по соображениям безопасности, поэтому вы не можете добавить событие onClick к какому-либо объекту. Если к вашему коду прикреплено специальное событие onClick, вы не получите никакой ошибки, но увидите, что код удаляется из вывода.

Использование кликера на уроке

Одним из ограничений методологии onClick является то, что вам необходимо редактировать каждую ссылку на вашем сайте и добавлять этот код. Альтернативный метод — разместить на странице скрипт, который слушает за конкретный клик на вашей странице, и он выполняет код для вас. Это можно сделать, найдя кого угодно тег привязки с конкретным CSS-класс. В этом случае мы помечаем тег привязки именованным классом. openchat.

Мы не хотим, чтобы наша кнопка отображалась до тех пор, пока не будет загружен Livechat, поэтому мы добавим в тему класс, чтобы изначально скрыть любую кнопку с помощью этого класса:

.openchat { display: none; }

Класс элементов

Для любого объекта Elementor, который мы хотим открыть чат, нам просто нужно установить класс как openchat.

Классы расширенных настроек Elementor

JavaScript для онлайн-чата для открытия OnClick

Теперь мы можем добавить скрипт в наш нижний колонтитул или Диспетчер тегов Google, чтобы загружать LiveChat, показывать кнопки после его загрузки, а затем открывать окно чата, если какой-либо элемент с openchat класс нажимается.

<!-- Start of LiveChat code -->
<script async="true">
    (function() {
        var lc = document.createElement('script');
        lc.type="text/javascript";
        lc.async = true;
        lc.src=" domain}/widgets-main.js";
        lc.onload = function() {
            // Once the script is loaded, check for LC_API availability
            waitForLCAPILoad(function() {
                // Display .openchat elements
                displayOpenChatElements();
                // Add click listeners to .openchat elements
                addChatButtonListeners();
            });
        };
        var s = document.getElementsByTagName('script')[0];
        s.parentNode.insertBefore(lc, s);
    })();

    // Wait until LiveChat is open before displaying the button
    function waitForLCAPILoad(callback) {
        if (window.LC_API) {
            callback();
        } else {
            setTimeout(function() {
                waitForLCAPILoad(callback);
            }, 100); // Check every 100 milliseconds
        }
    }

    // Display the button
    function displayOpenChatElements() {
        var openchatElements = document.querySelectorAll('.openchat');
        openchatElements.forEach(function(element) {
            element.style.display = 'block'; // Adjust this to fit how you want these elements to appear
        });
    }

    // Open the chat window if a button is clicked
    function addChatButtonListeners() {
        var openchatElements = document.querySelectorAll('.openchat');
        openchatElements.forEach(function(element) {
            element.addEventListener('click', function() {
                if (window.LC_API) {
                    if (!window.LC_API.chat_window_minimized()) {
                        return false; // If the chat window is already open, do nothing
                    }
                    window.LC_API.open_chat_window();
                }
                return false; // Prevent default action
            });
        });
    }
</script>
<!-- End of LiveChat code -->


Создать веб-сайт с помощью Elementor легко, и я настоятельно рекомендую эту платформу. Здесь отличное сообщество, множество ресурсов и немало дополнений Elementor, которые расширяют возможности.

ЧИТАТЬ  Google Search Console обновляет пользователей и элементы управления разрешениями

Начало работы с Elementor Начало работы с LiveChat

Source