Как получить, в сценарии страницы WP, скрипт wp enqueued (в Functions.php)?

Я очень новичок в WP, а также JS, и мне нужно сделать простое изменение существующего кода, так что простите мое невежество …

Для получения текущего идентификатора пользователя я последовал примерам и добавил функцию action + для функции.php моей дочерней темы (вставил ниже) Теперь мне нужно использовать ее на странице WP в <script>…. </script> <script>…. </script>

Я попытался назначить его в var и failed (примерная часть скрипта, также вставленная ниже, с нерабочим назначением).

Как мне это сделать?

 Added to functions.php: add_action('init','my demo_function'); function my demo_function(){ $theid=get_current_user_id(); $params = array( 'userid' => $theid ); wp_localize_script( 'myuserscript', 'MyUserParams', $params ); wp_enqueue_script('myuserscript'); } 

Пример кода, который я пробовал на странице WP (который не работает)

  <script> // when using this line I get the alert, as expected // var myData = "1234"; // but when using this, alert is skipped, I suppose because this assignment is invalid var myData = MyUserParams.userid; alert("your id is: " + myData) </script> 

Вы должны убедиться, что ваш скрипт зарегистрирован в wp_register_script перед вызовом wp_localize_script .

Итак, в файле functions.php:

 add_action('init','my demo_function'); function my demo_function() { // Register the script wp_register_script( 'myuserscript', 'path/to/myscript.js' ); // Localize the script with your data $theid=get_current_user_id(); $params = array( 'userid' => $theid ); wp_localize_script( 'myuserscript', 'MyUserParams', $params ); // Enqueued script with localized data. wp_enqueue_script('myuserscript'); } 

Тогда параметр будет доступен вам во внешнем интерфейсе

 <script> var myData = MyUserParams.userid; alert("your id is: " + myData) </script> 

Ссылка: wp_localize_script