Передать данные WP в JavaScript

Вопрос или проблема

Я использую атрибуты данных, чтобы передать формулу расчета цены продукта в JavaScript. Возможно ли передать это в JavaScript, не отображая в исходном коде страницы?

Ответ или решение

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

1. Использование REST API

Одним из наиболее эффективных способов передачи данных из WordPress в JavaScript является использование REST API WordPress. С его помощью вы можете создать конечную точку (endpoint), которая будет возвращать необходимые данные в формате JSON.

Пример реализации:

  1. Создайте кастомный endpoint:
    В вашем файле functions.php добавьте следующий код:

    add_action('rest_api_init', function () {
       register_rest_route('custom/v1', '/price_formula', array(
           'methods' => 'GET',
           'callback' => 'get_price_formula',
       ));
    });
    
    function get_price_formula() {
       return new WP_REST_Response('ваша формула', 200);
    }
  2. Получите данные на стороне клиента с помощью JavaScript:
    В вашем JavaScript-коде вы можете использовать fetch API для получения данных.

    fetch(`${window.location.origin}/wp-json/custom/v1/price_formula`)
       .then(response => response.text())
       .then(data => {
           console.log(data); // Здесь у вас будет ваша формула
       });

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

2. Скрытые поля или куки

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

Скрытые поля:

  1. Вариант с формой:
    Вы можете создать форму с скрытыми полями:

    echo '<input type="hidden" id="price_formula" value="ваша формула">';
  2. Чтение значения в JavaScript:

    var formula = document.getElementById('price_formula').value;
    console.log(formula); // Здесь у вас будет ваша формула

Куки:

Вы также можете сохранять формулу в куки и считывать ее на стороне клиента:

  1. Установите куку с помощью PHP:

    setcookie("price_formula", "ваша формула", time() + 3600, "/");
  2. Чтение куки в JavaScript:

    let formula = document.cookie.split('; ').find(row => row.startsWith('price_formula=')).split('=')[1];
    console.log(formula); // Ваша формула

Заключение

Использование REST API – это наилучший метод для передачи данных, поскольку он обеспечивает большую гибкость и безопасность. Скрытые поля и куки могут быть подходящими вариантами, но они могут быть менее безопасными, поскольку некоторые данные могут быть доступны через инструменты для разработчиков.

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

Оцените материал
Добавить комментарий

Капча загружается...