Get_stylesheet_directory_uri или get_stylesheet_directory?

117
05 января 2021, 12:10

Допустим в файле functions.php нужно добавить свой js-скрипт с помощью wp_add_inline_script, который находится в другой папке.
Какую функцию использовать: get_stylesheet_directory_uri или get_stylesheet_directory ?

add_action('wp_enqueue_scripts', function () {
    $custom_js = file_get_contents(get_stylesheet_directory_uri().'/assets/js/main.js');
    //произвольный код js
    wp_add_inline_script('jquery', $custom_js);
});  

т.е. для удобства, чтобы не прописывать js прямо в functions.php, нужно импортировать скрипт не с помощью wp_enqueue_script, а с помощью wp_add_inline_script

Answer 1

Функция get_stylesheet_directory() возвращает путь к файлу вида /var/www/my-site/wp-content/themes/my-theme.

Функция get_stylesheet_directory_uri() возвращает url к файлу вида http://my-site.org/wp-content/themes/my-theme.

В вашем случае результат работы file_get_contents() будет одинаковый. Вот только гонять лишний http-запрос через сервер нет никакой необходимости, лучше получить содержимое прямым доступом к файлу, с помощью get_stylesheet_directory().

READ ALSO
Неправильно выводит html

Неправильно выводит html

Всем привет, есть маленькая проблема - вывожу текст с бд MySql методом echo или print - результат: весь текст одинаковый, хотя видно в html что он должен...

100
Не срабатывает условие если нет строки в таблице

Не срабатывает условие если нет строки в таблице

Подскажите пожалуйста, есть запрос в mysql phpСтроки такой нет в таблице и условие не срабатывает

100
Как в WP очистить медиабиблиотеку?

Как в WP очистить медиабиблиотеку?

Мне надо полностью удалить все изображения из медиабиблиотекиФизически с сервера я их уже снес

122
Разделение frontend & backend

Разделение frontend & backend

Во время настройки nginx столкнулся с такой проблемой, что после настройки стили в директории admin не подключаетсявот таким образом я делаю настройку

88