这里有很多问题,让我们逐一解决
1。返回内容的函数和输出内容的函数
get_the_content
不输出任何内容,它返回它。所以你需要
echo
要使结果可见,请执行以下操作:
echo get_the_content();
以开头的函数
get_
几乎总是返回一个值。
以开头的函数the_
几乎总是输出一个值,例如:
the_content();
这就引出了下一个问题:
echo the_title();
这与:
echo \'\';
the_title();
返回内容的函数需要
echo
或者应该将它们分配给变量。
这为我们提供了一个正确的版本,它的工作原理相同,但没有bug:
<a href="<?php echo get_the_content(); ?>"><?php the_title(); ?></a>
但还是有问题
2。如果您的内容不包含链接,会发生什么情况?如果用户在里面放了一些恶意的东西,或者输入了一个错误怎么办?
如果我们应用转义,我们可以保证它将是一个URL:
<a href="<?php echo esc_url( get_the_content() ); ?>"><?php the_title(); ?></a>
如果放了恶意的东西,这可能是一个奇怪的乱码URL,但它始终是一个URL,100%保证。这一假设得到了实施,不再是“它应该是一个URL”或“我怀疑它永远不会是一个问题”的问题,而是我们现在有了一个铁一般的保证,即它始终是一个URL
转义是您可以进行的最大安全改进之一,并修复了大量安全问题。尽管如此,它几乎总是被排除在教程之外,被主题开发人员忽视,并且在主题和产品指南中缺失。晚点逃跑,经常逃跑,这将极大地提高你的密码安全性。
3。OEmbed、Gutenberg和Post格式
如果URL是OEmbed值呢?E、 Youtube视频?编辑器尝试将其转换为自动嵌入的播放器
the_content()
, 但是
get_the_content()
不会的。
因此,我们需要将其替换掉<a>
元素不起作用。相反,让我们进一步简化:
the_content();
对于链接帖子,只需使用包含链接的普通块即可。
4。Post格式的未来
Post格式是为了向后兼容而保留的,将来的Post格式在基于块的内容世界中没有多大意义。
E、 g.只输出一个包含链接的块,以便链接帖子。视频贴子就是只有视频块的贴子,等等
这就是你应该瞄准的范式,也是那些从事编辑器工作的人目前的想法。帖子格式从来没有那么成功过
youtube指南和所有过时的文章一样有用,但它并不能涵盖所有内容,因此应该谨慎对待。使你的研究多样化,探索其他做事方式,并继续发展。
这段视频只是当时人们对如何做事的想法,但它不是唯一的方法,也不是最好的方法。在未来,基于块的布局和自定义块将比自定义页面模板和其他旧方法更有用、更灵活