Php Wordpress使用动态名称将脚本排队

Php Wordpress使用动态名称将脚本排队,php,wordpress,reactjs,Php,Wordpress,Reactjs,我一直在学习React,并成功地将其应用于wordpress网站。我面临的问题是,每次创建应用程序的构建版本时,它都会更改需要在functions.php中排队的js和css文件 我试图找到一种方法让php选择指向的目录中的任何.js或.css,这样我就不必在每次创建小程序的新版本时手动更改脚本的名称 我尝试使用scandir(目录)提取文件名,这样它将返回文件,然后我可以相应地选择.js或.css文件。然后将该变量输入我的队列。这是我试过的代码,下面是我得到的错误 if (is_page("B

我一直在学习React,并成功地将其应用于wordpress网站。我面临的问题是,每次创建应用程序的构建版本时,它都会更改需要在functions.php中排队的js和css文件

我试图找到一种方法让php选择指向的目录中的任何.js或.css,这样我就不必在每次创建小程序的新版本时手动更改脚本的名称

我尝试使用scandir(目录)提取文件名,这样它将返回文件,然后我可以相应地选择.js或.css文件。然后将该变量输入我的队列。这是我试过的代码,下面是我得到的错误

if (is_page("BOLETIN Y REVISTA")){
        $cssFile = scandir(get_template_directory_uri() .'/cipm-ebooks-react/build/static/css/');
        print_r($cssFile);
        wp_enqueue_style('react-css', get_template_directory_uri() . '/cipm-ebooks-react/build/static/css/main.5660ef71.css', array(), '2', false);
        wp_enqueue_script( 'react-js', get_template_directory_uri() . '/cipm-ebooks-react/build/static/js/main.a405b746.js', array(), '2', true );
    }
我经常遇到的错误是: 警告:scandir():无法在第38行的/Users/juandelgado/Sites/cipm.org.mx/wp-content/themes/cipm-dev/functions.php中打开目录:未实现

警告:scandir():(错误号2):第38行的/Users/juandelgado/Sites/cipm.org.mx/wp-content/themes/cipm-dev/functions.php中没有此类文件或目录


欢迎任何帮助,谢谢

您可以尝试以下方法

 if(is_page("BOLETIN Y REVISTA")){

        foreach( glob( get_template_directory_uri() . '/cipm-ebooks-react/build/static/js/*.js' ) as $file ) {
            // $file contains the name and extension of the file
            wp_enqueue_script( $file, get_template_directory_uri() . '/cipm-ebooks-react/build/static/js/'. $file);
        }

        foreach( glob(get_template_directory_uri() . '/cipm-ebooks-react/build/static/css/*.css' ) as $file ) {
            // $file contains the name and extension of the file
            wp_enqueue_style( $file, get_template_directory_uri() . '/cipm-ebooks-react/build/static/css/'. $file);
        }

    }

我可以通过使用glob和basename来解决这个问题。我相信还有其他方法可以让它工作,但是glob()很棘手,因为它返回了一个完整的路径字符串。为了确定脚本的实际名称,我做了以下操作,效果非常好

if (is_page("BOLETIN Y REVISTA")){

        $cssPath = glob('wp-content/themes/cipm-dev/cipm-ebooks-react/build/static/css/*.css');
        $cssFile = basename($cssPath[0]);
        $jsPath = glob('wp-content/themes/cipm-dev/cipm-ebooks-react/build/static/js/*.js');
        $jsFile = basename($jsPath[0]);

        wp_enqueue_style('react-css', get_template_directory_uri() . '/cipm-ebooks-react/build/static/css/'.$cssFile, array(), '2', false);
        wp_enqueue_script( 'react-js', get_template_directory_uri() . '/cipm-ebooks-react/build/static/js/'.$jsFile, array(), '2', true );
    }
这可能就是你要找的