我看到您正在使用以下函数the_permalink
that echo their values, but don\'t return them, 然而,您使用它们就像它们确实返回值一样,而它们没有返回值。
除了少数例外,WP函数以the_
不返回数据,它们会回显数据,因此必须使用以下函数get_permalink
等
例如:
$foo = the_title(); // <- this is a mistake, it outputs the title
$bar = get_the_title(); // <- this correct, it returns the title
在这里
$foo
没有值,并且帖子标题已发送到浏览器。
$bar
但是,其行为符合预期,并返回分配给的帖子标题
$bar
.
想想看,如果the_title
打印帖子的标题,然后你写$title = the_title();
它怎么知道您想把它放在变量中呢?事实并非如此。计算机完全按照你说的做,而不是你的意思。PHP试图提供帮助,并将给它一个空值以避免致命错误。
作为旁白,你不应该posts_per_page
到-1
, 将其设置为您从未期望达到的超高数字,或添加分页,否则您将面临超时和内存不足问题的风险。