2015-05-20 30 views
0

将值传递给我的函数可以很好地处理硬编码值,但不会在使用$ _REQUEST中的值时正常工作。

我有一个谷歌地图的WordPress插件。我正在尝试从网址获取经纬度。

如果我打电话恒定,它的工作原理(谷歌地图上显示的标记):

marker("35.415156","25.141561"); 

但是,如果我打电话与$_REQUEST可变标记功能,它不工作(在谷歌不会显示标记地图):

marker($_REQUEST['coordx'],$_REQUEST['coordy']) 

我的代码是:

add_action("wp_ajax_nopriv_g_map_options","g_map_nopriv_options_callback"); 

g_map_nopriv_options_callback($_REQUEST['coordx'],$_REQUEST['coordy']); 

function g_map_nopriv_options_callback($lat_coord,$lng_coord) {      
    $lat_coord2 = $lat_coord; 
    $lng_coord2 = $lng_coord; 

    $response = $response."<marker id='6' size='48' name='' animation='DROP' lat='".$lat_coord2."' lng='".$lng_coord2."' description='' img='' />"; 
} 

当从$ _REQUEST变量读取值时,为什么它不起作用?

+0

你有没有经过测试打印出$ _REQUEST [ 'coordx'],以确保你有一个价值?此外,你应该比较类型。 –

+0

完美打印请求变量的值。但如果我把标记函数作为参数,不起作用 –

+0

你能提供更多的代码吗?你如何显示它们? – kaz

回答

0

WordPress不会简单地将请求变量交给后端。

您必须注册查询变量才能够在您的插件和主题中使用它们。

你可以看到这个主题,它将帮助你了解如何注册一个使用查询变量。

WordPress get_query_var()

+0

我将此函数添加到我的插件文件中: function add_query_vars_filter($ vars){ $ vars [] ='coordx'; return $ vars; } //添加自定义查询变量 add_filter('query_vars','add_query_vars_filter'); 如果我呼吁前端$值= get_query_var(“coordx”);,它是确定(打印coordx。 但我不能在插件后台函数调用。为什么呢?我想放变量插件功能。 –