WordPress如何引用同一个目录下的所有php文件

Author: 陌小雨Date: 2016-07-01View: 70

phpwenjian

目前很多WordPress主题都不会在functions.php里面写入过多的自定义函数代码,一来这里是恶意代码的重灾区,二来全部自定义函数都往 这里面塞显得很乱,所以一般我们都把需要自定义的一些功能分开单独写一个php文件,然后在functions.php里面引用,而如果php文件多了, 又必须要一个个去引用,显得很麻烦,所以就有了下面的这个自定义函数,该函数可以一次性自动引用某个文件夹下的所有php文件。

今天陌小雨就给大家介绍两个函数,他们的功能类似,一个是include_once的集体引用,另一个是require_once的集体引用。

require_once

    define('inlo_func', TEMPLATEPATH.'/inc'); // 定义集体php所在的文件夹inc
    function inlo_requireAll( $dir ){ // require_once集体引用php
        foreach( glob( "{$dir}/*.php" ) as $filename )
        require_once $filename;
    }
    inlo_requireAll( inlo_func ); // 执行函数

 include_once

    define('inlo_func', TEMPLATEPATH.'/inc'); // 定义集体php所在的文件夹inc
    function inlo_includeAll( $dir ){ // include_once集体引用php
        $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;
                }
            }
        }
    }
    inlo_includeAll( inlo_func ); // 执行函数

以上代码二选一加入 functions.php 里面即可,加入后,只要把需要引用的php文件放在 inc 文件夹里面效果就如同放在 functions.php 里面一样了。