使WordPress成为核心

变更集56523


忽略:
时间戳:
2023年6月9日下午12:58:47(10个月(之前)
作者:
spacedmonkey(空格键)
消息:

主题:如果主题函数中存在文件,则删除不必要的检查。

以前,主题api中的几个函数和方法都是为了在返回父主题之前检查子主题中是否存在文件而设计的。然而,这些检查没有考虑当前主题是否为子主题,导致对非子主题进行不必要的文件存在检查。在创建文件之前,检查样式表目录是否与模板目录匹配。这种优化有助于减少不必要的文件系统访问,因为文件存在检查在PHP中可能是资源密集型的。

作为此增强功能的一部分,更新了以下功能和方法:

  • WP_主题::获取文件路径
  • 获取主题文件路径
  • 获取主题文件uri

道具spacedmonkey、flixos90、sabernhardt、10upsimon、mukesh27。
修复#59279.

位置:
主干/src/wp-includes
文件夹:
2已编辑

图例:

未修改
补充
已删除
  • trunk/src/wp-includes/class-wp-theme.php

    56180兰特 56523兰特  
    15571557if(空($file)){
    15581558$path=$stylesheet_directory;
    1559 }埃尔塞夫(file_exists($stylesheet_directory.'/'.$file){
     1559}埃尔塞夫($stylesheet_directory!==$模板目录&&file_exists($stylesheet_directory.'/'.$file)){
    15601560$path=$stylesheet_directory.'/'$文件;
    15611561}其他{
  • trunk/src/wp-includes/link-template.php

    56245兰特 56523兰特  
    45404540$file=ltrim($file,'/');
    45414541
     4542$stylesheet_directory=获取样式表目录();
     4543
    45424544if(空($file)){
    45434545$url=获取样式表目录uri();
    4544 }埃尔塞夫(文件存在(获取样式表目录(). '/' . $文件)){
     4546}埃尔塞夫(获取模板目录()!==$样式表目录&&file_exists($stylesheet_directory. '/' . $文件)){
    45454547$url=get_stylesheet_directory_uri().'/'$文件;
    45464548}其他{
     
    46014603$file=ltrim($file,'/');
    46024604
     4605$stylesheet_directory=获取样式表目录();
     4606$template_directory=获取模板目录();
     4607
    46034608if(空($file)){
    4604 $路径=获取样式表目录();
    4605 }埃尔塞夫(文件存在(获取样式表目录().“/”$文件)){
    4606 $路径=获取样式表目录().英寸/英寸$文件;
    4607 }其他{
    4608 $路径=获取模板目录(). '/' . $文件;
     4609$路径=$样式表目录;
     4610}埃尔塞夫($stylesheet_directory!==$template_directory&&file_exists($stylesheet_directory. '/' . $文件)){
     4611$路径=$stylesheet_directory($样式表目录). '/' . $文件;
     4612}其他{
     4613$路径=$template_directory($模板目录). '/' . $文件;
    46094614    }
    46104615
注:请参见TracChangeset(跟踪变更集)获取有关使用变更集查看器的帮助。