Использование wp_enqueue в Wordpress

-2

Я обращаюсь к этому удивительному сообществу, после нескольких попыток исправить эту ошибку, моя проблема очень проста, но она дошла до меня. Я пытаюсь вставить сценарий Java в свой Theme my Plugin при использовании темы evolve.

вот фрагмент кода, который делает это, и я использовал глобальную функцию, чтобы проверить, загружена ли функция, и она не загружается. 'a' не меняется на true.

По какой-то причине это выглядит так: wp_enqueue_scripts не работает. Я также попытался добавить wp_head() без везения.

  <?php
$GLOBALS['a'] = 'false';
add_action( 'wp_enqueue_scripts', 'load_location' );

function load_location() {
$GLOBALS['a'] = 'true';
	wp_register_script('load_location_test',get_template_directory_uri().'/load_location.js', array('jquery'),'1.1',true);
	wp_enqueue_script('load_location_test');
}

?>
<?php echo $GLOBALS['a'] ?>;

Спасибо, советую

Ссылка: http://www.meetntrain.com/register

  • 0
    Где вы добавили этот код? это должно быть в вашем плагине или functions.php
  • 0
    Этот код добавлен в мою форму php формы регистрации, должен ли он идти в файле fuctions.php? Я использую плагин "theme my login" и редактирую форму регистрации в папке с темой. Надеюсь это понятно
Показать ещё 3 комментария

2 ответа

0
Лучший ответ

Таким образом, чтобы ваша очередь работала, вам нужно добавить код в файл functions.php или в свой плагин.

add_action( 'wp_enqueue_scripts', 'load_location' );

function load_location() {
    wp_register_script('load_location_test',get_template_directory_uri().'/load_location.js', array('jquery'),'1.1',true);
    wp_enqueue_script('load_location_test');
}

Это добавит JS файл на все ваши страницы. Если вы хотите настроить таргетинг на определенную страницу, вы можете сделать это через JavaScript или непосредственно в своем PHP файле.

Если ваша тема использует body_class(), вы можете настроить таргетинг на эту конкретную страницу по классу. Затем вы должны обернуть свой JS следующим образом:

if( $('body.classUsed').length ){
// Your JS code here
}

Обратите внимание, что файл все равно будет помечен в очередь. В качестве альтернативы, если вы хотите добавить JS файл только на указанную страницу, вы можете обернуть его в состоянии is_page():

add_action( 'wp_enqueue_scripts', 'load_location' );

function load_location() {
    if( is_page('your-page') ){
       wp_register_script('load_location_test',get_template_directory_uri().'/load_location.js', array('jquery'),'1.1',true);
       wp_enqueue_script('load_location_test');
    }
}
  • 0
    Именно то, что я искал. Спасибо, приятель.
0

Вы должны посмотреть на документы или на файлы других плагинов, пошаговые руководства в Интернете и т.д., Чтобы понять больше. wp_enqueue_scripts - это трюк, который вы используете для загрузки вашего Javascript, и у вас есть основная правильная идея, но попробуйте что-то подобное в ваших функциях.php:

function my_custom_scripts() {
    wp_register_script( 'custom-js', 'js/custom.js' );
    wp_enqueue_script( 'custom-js', 'js/custom.js', false );
}

add_action( 'wp_enqueue_scripts', 'my_custom_scripts' );

Измените "js/custom.js" везде, где ваш каталог имеет ваш JS файл.

Другой вариант, если это слишком сложно, заключается в прямой ссылке на JS файл в нижней части вашего footer.php. Подобно <script src="/file.js"></script>.

Иногда я нахожу, что скриптовые скрипты немного странные, но надеюсь, что это поможет вам разобраться.

  • 0
    Да, у меня было представление о том, как работает ловушка, но функция не вызывалась. Также файл java-скрипта находился в главном каталоге (пытался поместить его туда после нескольких часов испытаний). Спасибо за альтернативу, но я мог бы найти решение
  • 0
    Добавление фрагмента в functions.php решило проблему, но теперь на всех страницах загружен java-скрипт. Возможно, мне придется добавить условие, на какой странице я хочу его загрузить. Я подумал, что могу использовать постановку в очередь на определенной странице, на которую я хочу загрузить JS. добавив его в мою регистрационную форму
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню