【问题标题】:Send wordpress $current_user->ID from php file to external Javascript file将 wordpress $current_user->ID 从 php 文件发送到外部 Javascript 文件
【发布时间】:2011-11-03 05:35:37
【问题描述】:

我正在尝试根据登录的好友新闻用户将 KML 文件动态加载到地图中。当我在 javascript 文件中硬编码用户 ID 时,一切正常,但我需要它来动态加载当前用户用户 ID .

这里是 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;

                });

就像我提到的,如果我对用户 ID 进行硬编码,它就可以工作,但我不确定如何将用户 ID 从 PHP 传递到 javascript 文件。

【问题讨论】:

  • 为什么不修改你的 JS 函数,让你的 php 文件生成调用 initialize(&lt;?=json_encode($current_user-&gt;ID)?&gt;); 并通过参数传递用户的 javascript?

标签: php javascript jquery wordpress google-maps


【解决方案1】:

正如我之前的评论所建议的,我认为这将解决您的问题:

在js文件中:

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

在php中:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-13
    • 1970-01-01
    • 1970-01-01
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    • 2012-07-06
    相关资源
    最近更新 更多