PHP 语法问题
我试图使用 2 个变量将链接放在一起,但输出是链接和标题,但没有出现 html/可点击链接。
我收到以下链接:
http://www.mydomain.com/post1/post_title_here
这是代码:
echo '<a href="'.the_permalink().'">'.the_title().'</a>';
有人可以帮忙吗?
谢谢
更新:
这是整个代码块:
<div id="MyBlock1">
<?php
$query = new WP_Query('posts_per_page=5');
while( $query ->have_posts() ) : $query ->the_post();
echo '<li>';
echo '<a href="'.the_permalink().'">'.the_title().'</a>';
echo '</li>';
endwhile;
wp_reset_postdata();
?>
</div>
I am trying to get a link together using 2 variables but the output is the link and title but no html / clickable link appearing.
I'm getting something link this:
http://www.mydomain.com/post1/post_title_here
Here is the code:
echo '<a href="'.the_permalink().'">'.the_title().'</a>';
Can anyone help please?
Thanks
UPDATE:
Here's the whole block of code:
<div id="MyBlock1">
<?php
$query = new WP_Query('posts_per_page=5');
while( $query ->have_posts() ) : $query ->the_post();
echo '<li>';
echo '<a href="'.the_permalink().'">'.the_title().'</a>';
echo '</li>';
endwhile;
wp_reset_postdata();
?>
</div>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
这是因为 WordPress 函数
the_permalink()
和the_title()
已经显示了各自的结果,不需要回显。如果您想要返回值的函数,则必须使用get_permalink()
和get_the_title()
代替。所以要么做:
要么
两者都有效。
That's because the wordpress functions
the_permalink()
andthe_title()
display the respective outcomes already they need not be echoed. If you want functions that return the values, you have to useget_permalink()
andget_the_title()
instead.So either do:
or
Both will work.
以下是调试清单:
1.)
the_title()
是否返回空字符串? (您可以通过查看 html 源代码进行检查)2.)您是否在 body 标记内呼应了此内容?
3.) 这是否在隐藏的 html 元素中得到回应?
Here's a checklist for debugging:
1.) Is
the_title()
returning an empty string? (You can check by looking at the html source)2.) Are you echoing this inside of the body tag?
3.) Is this being echoed in a hidden html element?
在这种情况下,您需要使用
get_permalink
代替the_permalink
和get_the_title
而不是the_title
。WordPress
the_*
函数执行直接echo
调用,而get_*
函数返回一个可用于进一步处理的值,例如串联你正在做的。(还要注意不一致的命名约定 - 这可能会很痛苦)
In this sort of situation, you'll want to use
get_permalink
instead ofthe_permalink
andget_the_title
instead ofthe_title
.WordPress
the_*
functions do a directecho
call, whereas theget_*
functions return a value that you can use for further processing, like the concatenation you're doing.(also note the inconsistent naming conventions - this can be a pain)
您可以使用相应的 get_* 版本:
有关更多信息,请参阅 codex 参考
You could use the corresponding get_* versions:
See the codex reference for more
您需要绝对确保
.the_title().
明确设置了一个值。如果不是,则不会显示 HTML,因为锚标记没有文本。只是一个想法(我已经做过很多次了,尝试print_f();
the_title()。希望它有帮助。You need to absolutely make sure that
.the_title().
is definately bieng set a value. If it isn't, then there will be no displayed HTML as there is no text for the anchor tag. Just a thought (i've done it many times, tryprint_f();
ing the the_title(). Hope it helped.