Sco*_*rad 2 php wordpress urlencode
Wordpress提供了一个名为"the_permalink()"的函数,它返回,你猜对了!,在一个帖子循环中,给定帖子的永久链接.
我正在尝试URL编码永久链接,当我执行此代码时:
<?php
print(the_permalink());
$permalink = the_permalink();
print($permalink);
print(urlencode(the_permalink()));
print(urlencode($permalink));
$url = 'http://wpmu.local/graphjam/2008/11/06/test4/';
print($url);
print(urlencode($url));
?>
Run Code Online (Sandbox Code Playgroud)
它以HTML格式生成这些结果:
http://wpmu.local/graphjam/2008/11/06/test4/
http://wpmu.local/graphjam/2008/11/06/test4/
http://wpmu.local/graphjam/2008/11/06/test4/
http://wpmu.local/graphjam/2008/11/06/test4/
http%3A%2F%2Fwpmu.local%2Fgraphjam%2F2008%2F11%2F06%2Ftest4%2F
Run Code Online (Sandbox Code Playgroud)
我希望输出的第2,3和5行是URL编码的,但只有第5行是这样的.思考?
Jon*_*ski 12
根据文档,the_permalink
打印永久链接vs返回它.所以,urlencode
没有得到任何编码.
[ 编辑 ]
编辑有点晚,但我没有意识到打印计数是一个问题.
这是他们全部来自的地方:
<?php
print(the_permalink()); // prints (1)
$permalink = the_permalink(); // prints (2)
print($permalink); // nothing
print(urlencode(the_permalink())); // prints (3)
print(urlencode($permalink)); // nothing
$url = 'http://wpmu.local/graphjam/2008/11/06/test4/';
print($url); // prints (4)
print(urlencode($url)); // prints (5)
?>
Run Code Online (Sandbox Code Playgroud)
the_permalink()
回应永久链接
get_the_permalink()
返回永久链接,以便将其分配给变量.
(与WordPress中的大多数函数一样:the_something()有一个get_the_something()来返回值而不是回显它)
@Jonathan有理由,以及你应该在WordPress中处理它的方式(即使用正确的函数来完成工作).
以下是在没有返回字符串的函数时如何修复它:
ob_start();
the_permalink();
$permalink = ob_get_clean();
print(urlencode($permalink));
Run Code Online (Sandbox Code Playgroud)