WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

Запуск 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]) - хрен, не работает.

Как реализовать? Коряво объяснил, но надеюсь, что понятно )

0
mitiok2002
2 месяца назад

Нет ответов на этот вопрос.

    На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация