как добавить пользовательский javascript в wordpress functions.php

В настоящее время мне нужно добавить некоторые пользовательские jQuery в мои функции wordpress, я добавил jQuery следующим образом:

add_action("wp_enqueue_scripts", "my_jquery_enqueue", 11); function my_jquery_enqueue() { wp_deregister_script('jquery'); wp_register_script('jquery', "http" . ($_SERVER['SERVER_PORT'] == 443 ? "s" : "") . "://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js", false, null); wp_enqueue_script('jquery'); } 

Мне нужно добавить следующее:

 $(document).ready(function () { $(".infobfn").append('<a href="#" rel="tooltip" title="<?php echo $variable; ?>"><i class="icon-info-sign"></i></a>');}); 

Проблема в том, что я не могу добавить это во внешний .js-файл, поскольку он содержит переменные php.

Когда он остался в моих функциях, я получаю следующее:

 Warning: Cannot modify header information - headers already sent by 

Я добавил ob_start (); который был рекомендован. Я, хотя это сработало, но потом понял, что загружена только половина моей страницы.

В настоящее время я не использую php-заголовок внутри моего functions.php и также проверял пробел.

Любые идеи, как я могу обойти это?

Две вещи, которые вы делаете неправильно:

  1. Dequeuing WP в комплекте jQuery

    • Не удалять jQuery WordPress

    • Почему загрузка собственного jQuery является безответственным

  2. Использование jQuery без режима noConflict . Следующий пример – правильный способ сделать это:

 jQuery(document).ready(function($) { // Now, $ will refer to jQuery // Write all your logic inside this block }); 

И, чтобы решить использование переменных PHP внутри вашего файла Javascript, используйте wp_localize_script . Эта функция передаст любые переменные, которые вы хотите разместить в файле Javascript, помещенном в очередь.

Проверьте этот ответ для рабочего примера.