Wordpress将动态名称

时间:2018-04-24 17:59:54

标签: php wordpress reactjs

我一直在研究React并成功实施到wordpress网站。我面临的问题是每当我创建应用程序的构建版本时,它会更改我需要在functionns.php中排队的js和css文件

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

我试图使用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(https://cipm.org.mx/wp-content/themes/cipm-dev/cipm-ebooks-react/build/static/css/):无法打开dir:未在第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中没有此类文件或目录< / p>

非常欢迎任何帮助,谢谢!

2 个答案:

答案 0 :(得分:0)

你可以试试像

这样的东西
 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);
        }

    }

答案 1 :(得分:0)

我能够通过使用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 );
    }