我有一个通过短代码传递到页面的数据字符串,但不幸的是,短代码的原始开发人员没有说明我计划如何使用页面上的数据。我正在创建一个“离开此网站”类型的页面,用户将收到一条消息,然后自动重定向到非现场页面。
简言之,自定义字段保存了场外页面的URL,然后我将其作为$_REQUEST
变量设置为另一个“您将要离开”页面。因为有多个&
和?
, URL中断。。。我的战友也是。不总是。。。就在有多个&
和?
.
我希望有某种方法可以从一个短代码中对简单的解决方案进行urlencode编码,我可以将短代码包装在文本周围并对其进行编码。我知道有一些PHP短代码插件,但从安全角度来看,我希望不要使用那个插件。
也许我想错了?
我拥有的示例:
<a href="/leaving?company=[name]&url=[website]">Visit Website</a>
我希望得到的结果是:
<a href="/leaving?company=[urlencode][name][/urlencode]&url=[urlencode][website][/urlencode]">
Visit Website
</a>
我应该在我的主题的
functions.php
为了这样的事?功能似乎相当简单。只是挂断了电话。
UPDATE
试图使用Caleb的解决方案,但遇到了问题。现在我在做
do_shortcode()
但仍然遇到下面评论中提到的相同编码问题。
<?php
function shortcode_urlencode( $atts, $content = \'\' ) {
return esc_url(do_shortcode($content));
}
add_shortcode( \'urlencode\', \'shortcode_urlencode\' );
?>