GET_TEMPLATE_PART是否在循环中拉取数据一次?

时间:2016-07-28 作者:Ben

当我使用"get_template_part();" inside a loop, 它是否搜索该模板文件every cycle 回路的(每个立柱)or 它是否搜索文件once 然后在循环的每个周期重复使用它?

2 个回复
最合适的回答,由SO网友:fuxia 整理而成

get_template_part() 呼叫locate_template(), 两个功能都在运行file_exists() 反复检查同一文件。没有缓存。嗯。

但是…PHP有一个用于文件查找的内部缓存,所以不会在每次调用时都直接访问文件。

有一种边缘情况,大多数开发人员都没有意识到:文件可以在首次访问后删除,并且file_exists() 仍将返回true 如果PHP的缓存没有更新。

SO网友:jdm2112

这完全取决于您的代码。在没有看到任何内容的情况下,我假设您使用的是标准的WP循环。如果是,则每次执行语句时都会包含模板部分。默认情况下,这适用于循环中的每个帖子。

相关推荐

当in_the_loop()为假时,何时以及为什么is_Single(‘my_cpt’)为真?

我正在使用模板系统的示例代码。此地址的页码:http://project.test/my_cpt/hello-post/.无法理解原因is_singular( \'my_cpt\' ) 是true 虽然in_the_loop() 是false.在页面模板中The Loop "E;“工程”:if ( have_posts() ) { while ( have_posts() ) { the_post(); ?>