Отправить wordpress $ current_user-> ИДЕНТИФИКАТОР из файла php во внешний файл Javascript

#php #javascript #jquery #wordpress #google-maps

#php #javascript #jquery #wordpress #google-карты

Вопрос:

Я пытаюсь динамически загружать файл KML в карту в зависимости от того, какой пользователь buddy press вошел в систему. Все работает нормально, когда я жестко кодирую идентификатор пользователя в файле javascript, но мне это нужно для динамической загрузки текущего идентификатора пользователя.

Вот файл javascript:

     function initialize(){
    //MAP
      //manually set user ID to zero
      //var current_user =0; 
      var current_user;
      //var current_user = "<?php get_currentuserinfo(); echo $current_user->ID?>"
      var latlng = new google.maps.LatLng(90.64138205695923,-45.38903528363647);
      var options = {
         zoom: 16,
         center: latlng,
         mapTypeId: google.maps.MapTypeId.ROADMAP
         };

      map = new google.maps.Map(document.getElementById("map_canvas"), options);

      var kmlLayer = new google.maps.KmlLayer('http://www.mysite.com/timeline_' current_user '.kml');
      kmlLayer.setMap(map);  
  

Это то, что у меня есть в файле php, внутри цикла:

     $("#address1").click( function() {
                initialize();
                var currentUser = <?php get_currentuserinfo(); echo $current_user->ID?>;
                    $current_user = currentUser;

                });
  

Как я уже упоминал, это работает, если я жестко кодирую идентификатор пользователя, но я не уверен, как передать идентификатор пользователя из PHP в файл javascript.

Комментарии:

1. Почему бы не изменить вашу JS-функцию, чтобы ваш php-файл создавал javascript, который вызывает initialize(<?=json_encode($current_user->ID)?>); и передает пользователя через параметр?

Ответ №1:

Как и предполагалось в моем предыдущем комментарии, я думаю, это решит вашу проблему:

В файле js:

 ...
function initialize(current_user) {
    ...
}
...
  

В php:

 ...
<script type="text/javascript">
    $("#address1").click( function() {
        initialize(<?=json_encode($current_user->ID)?>);
    });
</script>
...