0

我绝对不是 PHP 专家,但我认为以下代码段输出相同的 HTML。但他们没有。

echo '<a href="';
the_permalink();
echo '" title="';
the_title();
echo '"><i class="genericon-standard"></i></a>';

返回(应该):

<a href="http://my-site.com/?p=1" title="Hallo wereld!"><i class="genericon-standard"></i></a>

但是更短的代码

echo '<a href="' . the_permalink() . '" title="' . the_title() . '"><i class="genericon-standard"></i></a>';

退货

http://my-site.com/?p=1Hallo wereld!<a href="" title=""><i class="genericon-standard"></i></a>

这显然不是我想要的。我在第二个代码(较短)中哪里出错了?

4

3 回答 3

2

the_permalink()回显永久链接,get_permalink()返回永久链接。

所以第二种方式应该如下所示:

echo '<a href="' . get_permalink() . '" title="' . get_the_title() . '"><i class="genericon-standard"></i></a>';
于 2013-09-10T09:33:45.817 回答
0

在 wordpress 中 get_permalink() 和 get_the_title() 函数显示值

于 2013-09-10T09:44:59.943 回答
0

我假设您使用的是 Wordpress,因此您必须使用 get_permalink() 和 get_the_title() 而不是 the_permalink,因为此函数将回显结果并破坏您的字符串。

或者,您可以将永久链接存储在变量中,然后连接到您的字符串:

$permalink = get_permalink($post->ID); 

这是文档: http ://codex.wordpress.org/Function_Reference/the_permalink

于 2013-09-10T09:41:19.237 回答