我一直在研究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>
非常欢迎任何帮助,谢谢!
答案 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 );
}