【问题标题】:Wordpress enqueue a script with dynamic nameWordpress 将具有动态名称的脚本排入队列
【发布时间】:2018-04-24 17:59:54
【问题描述】:

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

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

我尝试使用 scandir(directory) 提取文件名,以便它返回文件,然后我可以相应地选择 .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/):未能打开目录:未在第 38 行的 /Users/juandelgado/Sites/cipm.org.mx/wp-content/themes/cipm-dev/functions.php 中实现

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

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

【问题讨论】:

标签: php wordpress reactjs


【解决方案1】:

你可以试试

 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);
        }

    }

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2017-03-17
      • 1970-01-01
      • 2012-07-18
      • 2018-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-15
      • 1970-01-01
      相关资源
      最近更新 更多