Я использую библиотеку подчеркивания для манипулирования массивами. Я поставил библиотеку со следующим кодом в файле functions.php
add_action( 'wp_enqueue_scripts', 'jt_enqueue_scripts' );
function jt_enqueue_scripts() {
wp_enqueue_script( 'wp-util' );
}
Но когда я пытаюсь использовать его в своем коде, я получаю ссылку ошибки, подчеркивающую, что подчеркивание не определено.
$json = json_decode($response_body);
$items = _.map($json,'items'); // throws error:'_' is not defined
echo '<script>console.log('.$items.')</script>';
Код, который вы предоставили, взят из старого руководства, и некоторые вещи изменились в WP.
Таким образом, подчеркивание импортируется сейчас через load-scripts.php
, он имеет параметр GET, что загрузить. Поэтому подчеркивание не в файле wp-util, а в отдельном файле \wp-includes\js\underscore.min.js
Вот как это сделать:
wp_enqueue_script('undescore', includes_url('js') . '/underscore.min.js' );
Документация для includes_url
на devoloper.wordpress.org
Изменить (другой вариант)
Как я уже говорил выше, WP использует load-scripts.php
Файл для загрузки скриптов из include, вы можете использовать это:
http://localhost/wp-admin/load-scripts.php?load=underscore
Вы можете добавить c=
параметр для сжатия.
Я не рекомендую этот метод, используйте вышеуказанное с ставить сценарии!!!
Других решений пока нет …