Запуск 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]) - хрен, не работает.
Как реализовать? Коряво объяснил, но надеюсь, что понятно )