不同的连接方法返回不同的输出

时间:2013-09-10 09:27:11

标签: php concatenation

我绝对不是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>

显然,不是我想要的东西。我在哪里出错了第二个代码(更短的代码)?

3 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)

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

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

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

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

答案 2 :(得分:0)

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