Wordpress ставит скрипт с динамическим именем - PullRequest
0 голосов
/ 24 апреля 2018

Я изучал React и успешно внедрил его в сайт WordPress.Проблема, с которой я сталкиваюсь, заключается в том, что каждый раз, когда я создаю версию сборки приложения, она меняет мои файлы js и css, которые нужно ставить в очередь в functionns.php

Я пытаюсь найти способ, чтобы 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 (https://cipm.org.mx/wp-content/themes/cipm-dev/cipm-ebooks-react/build/static/css/): не удалось открыть каталог: не реализовано в /Users/juandelgado/Sites/cipm.org.mx/wp-content/themes / cipm-dev / functions.php в строке 38

Предупреждение: scandir (): (errno 2): такого файла или каталога нет в /Users/juandelgado/Sites/cipm.org.mx/wp-content / themes / cipm-dev / functions.php в строке 38

любая помощь очень приветствуется, спасибо!

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Мне удалось это исправить, используя 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 );
    }
0 голосов
/ 25 апреля 2018

вы можете попробовать что-то вроде

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

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...