Can';t根据PHP值进行HREF更改

Can';t根据PHP值进行HREF更改,php,html,wordpress,shortcode,Php,Html,Wordpress,Shortcode,我想检索用户的位置,然后显示一个指向URL的链接,该URL会根据该位置的变化而变化。我只想把用户的城市名称放在HREF的末尾 我需要在我的wordpress网站上的静态页面上的这项工作。我使用一个名为execphp的插件,让我在页面中运行php 我有一个插件,通过短代码“[mmjs city]”向我提供了用户的城市 我试图让它通过不同的途径工作,但我从来没有得到工作的链接 在这里,我尝试将该短代码分配给一个值 <?php $city= "[mmjs-city]"; echo $city;

我想检索用户的位置,然后显示一个指向URL的链接,该URL会根据该位置的变化而变化。我只想把用户的城市名称放在HREF的末尾

我需要在我的wordpress网站上的静态页面上的这项工作。我使用一个名为execphp的插件,让我在页面中运行php

我有一个插件,通过短代码“[mmjs city]”向我提供了用户的城市

我试图让它通过不同的途径工作,但我从来没有得到工作的链接

在这里,我尝试将该短代码分配给一个值

<?php 
$city= "[mmjs-city]";
echo $city;

echo "<a href='?s=" . $city ."'>Search for your city</a>";
?>

我添加了前两行以检查短代码是否工作,以及是否正确地分配到$city值。那部分有效。然后它创建链接,并将$city的值放在它的末尾。但是当我尝试它而不是带我去:

/?s=纽约+纽约

这让我想到:

/?s=%3Cscript%20语言=%22javascript%22%3Edocument.write(geoip_city());%3C/脚本%3E

我不知道该怎么办。我真的很感谢任何关于如何让它工作的信息,这真的是我的网站的一个重要功能。请询问更多信息或idk任何信息

这也是我测试代码的地方:


谢谢

如果您检查页面的HTML代码,您可能会看到

<script language="javascript">document.write(geoip_city());</script>
document.write(geoip_city());
浏览器将其解释为JavaScript代码,以正确显示您的城市。但是,浏览器不会在链接中对其进行更改,因为链接中的引号会导致浏览器按原样打印或使用字符串


换句话说,JavaScript代码不会在链接中执行。

如果您检查页面的HTML代码,您可能会看到

<script language="javascript">document.write(geoip_city());</script>
document.write(geoip_city());
浏览器将其解释为JavaScript代码,以正确显示您的城市。但是,浏览器不会在链接中对其进行更改,因为链接中的引号会导致浏览器按原样打印或使用字符串


换句话说,JavaScript代码不会在链接中执行。

问题在于$city实际上输出了一段JavaScript。然后浏览器执行该功能,并将用户的城市写入屏幕

<script language="javascript">document.write(geoip_city());</script><br/><br/><a href='?s='>Search for your city</a>
document.write(geoip_city())

如果你在href中使用它,它将直接链接到
document.write(geoip_city())这会导致显示URL

您正在互相使用Javascript和PHP。如果要创建与城市的链接,请使用javascript创建(或修改)该链接:找到该链接(给它一个ID或在DOM中找到它)并分配href,或使用javascript打印链接本身(而不是a):


文件。写(“”);

问题在于$city实际上输出了一段javascript。然后浏览器执行该功能,并将用户的城市写入屏幕

<script language="javascript">document.write(geoip_city());</script><br/><br/><a href='?s='>Search for your city</a>
document.write(geoip_city())

如果你在href中使用它,它将直接链接到
document.write(geoip_city())这会导致显示URL

您正在互相使用Javascript和PHP。如果要创建与城市的链接,请使用javascript创建(或修改)该链接:找到该链接(给它一个ID或在DOM中找到它)并分配href,或使用javascript打印链接本身(而不是a):


文件。写(“”);
嘿,莉索, 这是因为短代码由WP插件处理,并作为javascript输出。因此,当您通过上述方法访问短代码时,实际分配的值是这个javascript。

嘿,Liso,
这是因为短代码由WP插件处理,并作为javascript输出。因此,当您通过上述方法访问短代码时,实际分配的值是这个javascript。

您的问题是位置不是来自PHP。短代码所做的一切就是放入一些javascript,获取位置,然后打印它

<script language="javascript">document.write(geoip_city());</script>

链接最初必须是
?s=
,才能起作用。这段代码需要在加载所有页面元素之后完成——您可以使用jQuery的
ready
函数:

您的问题是位置不是来自PHP。短代码所做的一切就是放入一些javascript,获取位置,然后打印它

<script language="javascript">document.write(geoip_city());</script>

链接最初必须是
?s=
,才能起作用。这段代码需要在所有页面元素加载后完成-您可以使用jQuery的
ready
函数:

这不是javascript快照代码吗?它声明我在链接上方的贝鲁特,链接参数为空:是的,我使用的是插件WP Geolocation JS。对不起,我忘了提一下,我把价值错卖了。如果你再次检查它,你会看到它指向我上面发布的那个长URL。这不是一个javascript快照代码吗?它说我在链接上方的贝鲁特,链接参数为空:是的,我正在使用插件WP Geolocation JS。对不起,我忘了提一下,我把价值错卖了。如果你再次检查它,你会看到它指向我上面发布的那个长URL。有没有办法让我把脚本转换成一个简单的字符串,然后给它赋值?或者idk任何解决方案。@Liso:你可以用javascript将城市作为一个简单的字符串。使用javascript创建链接(或修改href)@liso。。是 啊与其尝试用php呈现城市文本,不如尝试通过javascript为此链接创建href属性。这将比在这个插件的源代码中调试更容易。有没有一种方法可以让我将脚本转换成一个简单的字符串,然后将其赋值?或者idk任何解决方案。@Liso:你可以用javascript将城市作为一个简单的字符串。使用javascript创建链接(或修改href)@liso。。是 啊与其尝试用php呈现城市文本,不如尝试crea