Запуск javascript с передачей в него параметров
Я делаю WP сайт с использованием Elementor. На одной из страниц нужно выполнить java-скрипт, часть параметров которого формируется через вызовы функций, описанных в pluginе.
<?php /* Template Name: SubSum template */ ?> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <script src="https://test-api.sumsub.com/idensic/static/sumsub-kyc.js"></script> <title>SumSub for Flagman</title> </head> <body> <?php $externalUserID = "beegett_" . wp_generate_password(8, true, false); $btoken = get_bearer_token(); $accessArray = get_access_token($externalUserID, $btoken); $accessToken = $accessArray['atoken']; $btoken = $accessArray['btoken']; $applicantId = make_appl_request($externalUserID, $btoken); ?> <div id="idensic"></div> </body> </html> <script> var extUserID = "<?php echo $externalUserID; ?>"; var accToken = "<?php echo $accessToken; ?>"; var id = idensic.init( // selector of the WebSDK container (see above) '#idensic', // configuration object (see the settings in the demo) { "clientId": "flagman", "includedCountries": [ "RUS" ], "excludedCountries": null, "externalUserId": extUserID, "accessToken": accToken, // тут еще есть много кода, но он не важен }, // function for the WebSDK callbacks function(messageType, payload) { // e.g. just logging the incoming messages console.log('[IDENSIC DEMO] Idensic message:', messageType, payload) } ) </script>
вызовы php функций внутри body нужны для формирования переменных $externalUserID и $accessToken, который затем используются в скрипте. Эти функции описаны в pluginе.
Если вы обратили внимание, то все это оформлено в виде template page wordpress. В таком виде, все работает отлично.
Мне же хочется встроить этот код на обычную страницу Elementor в форме обычного html-виджета.
Все отлично встраивается, если я полностью убираю php-код и просто присваиваю переменным какое-то значение. Мне же нужно вызвать функции из моего pluginа, чтобы присвоить переменным корректные значения.
Пробовал сделать это через shortcodes (написал внутри script [my_shortcode]) - хрен, не работает.
Как реализовать? Коряво объяснил, но надеюсь, что понятно )