0

好的,我在这里有一个问题,我发现很难解决。虽然我猜它可能没有那么复杂。

我正在使用 wordpress,在我的 functions.php 中我有以下内容:

<?php
class EXAMPLE {
$this->url=rawurlencode($url);
}

function DO-SOMETHING() { 
DO-SOMETHING . $this->url);
}
?>

然后我在我的 html 中调用该函数:

<div>
<?php $obj=new EXAMPLE("www.example.com"); echo $obj->DO-SOMETHING();?>
</div>

我需要用 (the_permalink()) 替换 ("www.example.com")。但它不起作用。不知道为什么。我尝试了多种不同的方法,使用反复试验,但找不到解决方案

谢谢

4

2 回答 2

0

如果只是对 URL 进行编码,则可以执行以下操作:

echo rawurlencode( get_the_permalink() );

您也可以将其包装在一个函数中:

echo myrawurlencode( get_the_permalink() );

function myrawurlencode($url){
    rawurlencode( $url );
}

注意:get_the_permalink()返回 URL,the_permalink()默认直接回显。

如果你打算使用一个类,你可能想看看http://php.net/manual/en/language.oop5.decon.phphttp://www.php.net/manual/ en/language.oop5.basic.php首先。

于 2013-08-22T13:15:24.710 回答
0

就像提到the_peramlink()的那样,使用 echo 语句显示 url,但您可以使用get_permalink($id)它返回 url。WordPress 确保两个函数返回的 url 都被转义,并且可以在不使用rawurlencode()PHP 函数的情况下使用。

除非您需要在永久链接上附加一些内容,否则您不需要此函数,并且应该可以使用 get_permalink($id) 函数。您可以随时查看 Wordpress 法典中的get_permalink文档以获取更多信息。

于 2013-08-22T13:59:49.990 回答