对于那个短代码,您有相当多的标记。试图将所有这些都作为一个短代码传递将是一个麻烦。我把它拆开看看。
地图地址:英国南安普顿http://anachronistic.local:9102/wp-content/plugins/_TomRush/inc/js/TinyMCE_additions/modal/../img/icons/music_folk_map.png
“信息窗口=”<div class="marker inside"><img class="marker icon"
alt=""
src="http://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png"
/><strong>Southampton</strong><br>Southampton, UK<br><span
class="marker extras">Some User Note</span></div><a class="marker
jumplink"
href="https://maps.google.com/maps/place?q=Southampton&ftid=0x48738957be152909:0xa78c5a6a4cda71f0"
target="_blank">external map</a>
“以下是我的方法。在您的功能中,应该可以动态生成#1,这样它就可以运行了。我不记得是什么了”z
\' 如果是这样,我们将跳过它#4和#5可以是单个值,例如\'size
\', 拿着这个“150x150
“格式设计者很熟悉,但这并不重要。如果插件正在构建它,这可能没什么大不了的。如果人们希望在其中编写这些内容,那么会。您可以通过检查“%”来允许百分比大小,markerimage
, 可以硬编码。您不希望用户选择该文件路径,对吗?因此我认为它不会改变。只需根据#8进行切换,marker
. 任何其他静态项目也应硬编码。在我看来,大多数#10都可以硬编码。我认为没有必要尝试传递所有这些标记。事实上,唯一可更改的部分看起来可能是位置部分——对南汉普顿的引用,可以从#7中提取并填写。考虑到这一点,您的短代码如下所示:
[my_gmaps z="11" size="100%x300" scrollwheel="false" maptype="ROADMAP" address="Southampton, United Kingdom" marker="true" ]
也许你需要一种让用户编辑“一些用户注释”的方法。把它放在短代码“内容”中。
[my_gmaps z="11" size="100%x300" scrollwheel="false" maptype="ROADMAP" address="Southampton, United Kingdom" marker="true" ] User notes [/my_gmaps]
其余的可以在处理短代码时处理,或者在我看来是这样。如果您确实需要比我允许的更多的配置,请尝试传递关键元素。这
0x48738957be152909:0xa78c5a6a4cda71f0
, 而不是这个
https://maps.google.com/maps/place?q=Southampton&ftid=0x48738957be152909:0xa78c5a6a4cda71f0
. 你知道其中的一部分会保持不变至少这一部分,
https://maps.google.com/
-- 没必要到处传。
基本上,这个想法是只传递更改的部分,去掉/硬编码其余部分,就像将参数传递给函数一样。您传递必要的部分,让函数构建/完成其余部分。您不会将所有内容都传递给函数,而让函数本质上只是串联参数,对吗?仅串联参数更容易。
我认为正确的方法不是在标记通过短代码时保护它,而是重新考虑短代码的工作方式,以便它一开始就不会有这个问题。
我很好奇,如果你的插件正在构建这个短代码,为什么还要构建这个短代码呢?为什么不用插件来构建工作地图标记呢?