高效的扩展wordpress主题核心文件functions.php

相信大家对wordpress主题中的functions.php文件一定不陌生,本站很多教程中的代码也是直接加到functions.php就可以使用的,但是随着代码多了以后想修改functions.php就变得不方便了,而且一旦代码错误再恢复逐渐庞大的functions.php文件也就麻烦起来了,对于新手来说很可能就找不出问题所在了。今天小V就教大家一个更高效,更方便的方法来为functions.php扩展功能。

第一步:在主题文件夹下新建一个名为inc的文件夹

第二步:将以下代码加入到当前主题的functions.php文件中,代码如下:

define('INC', TEMPLATEPATH.'/inc');
IncludeAll( INC );
function IncludeAll($dir){
    $dir = realpath($dir);
    if($dir){
        $files = scandir($dir);
        sort($files);
        foreach($files as $file){
            if($file == '.' || $file == '..'){
                continue;
            }elseif(preg_match('/.php$/i', $file)){
                include_once $dir.'/'.$file;
            }
        }
    }
}

以后每次为主题扩展功能的时候只要将代码保存为一个新的php文件,文件名不限,但最好是英文或数字,然后将文件放入到inc目录下即可,效果和直接将代码加到functions.php文件一样,而且一旦代码出错只要直接删除出错代码的文件即可。此方法不仅降低了新人修改functions.php造成网站无法访问的风险,而且不用一个一个的去include php script,使得代码更加高效。

高效的扩展wordpress主题核心文件functions.php》上有9条评论

  1. 小舞

    这个跟直接加入function.php中有什么区别么?效率方面哪个高点,我在想你收费栏目里边的加速是不是之前做好,直接include复制完事了!

    回复
    1. 小V 文章作者

      这个方法在多文件的情况下效率更高,代码更精简,那个收费服务不是全部都写好的代码,因站而异,个哥哥站点的情况都不一样。

      回复
  2. 斌果

    好像很长的代码,其实只要一行就可以达到同样的效果:

    foreach( glob( TEMPLATEPATH . ‘/inc/*.php’ ) as $filename ) include( $filename );

    回复
  3. 晏华兴

    我用的自带的主题Twenty Fourteen,在主题文件夹下原来就有一个inc目录,加上上述代码后就打不开网页了,何解?如果我想用这个功能我该怎么做?

    回复
    1. 小V 文章作者

      不要使用这个代码了,过段时间我会出一款和这个功能类似的插件,效率和消耗比这个更低。

      回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注