Intereting Posts
Разделение WordPress на несколько областей Как использовать control_callback при создании виджета через functions.php или плагин? Верхний регистр редактора Media Editor в нижнем регистре Можем ли мы предоставить ожидающую роль роли wp_insert_user? Неправильная каноническая ссылка на страницах wp-admin Проблема перемещения моего сайта LivePress на локальный хост Как проверить, существует ли правило перезаписи Как получить персонализированные типы сообщений с полными данными в wordpress? Использование одинакового слизня с несколькими типами сообщений Как тему блоков кода, отформатированных prettify.js, встроенных в WP-Markdown? Как объединить файлы javascript без плагинов? Хороший рейтинговый плагин, который не зависит от внешней службы? Суффикс выдержки не исчезнет Изменение имени изображения во время загрузки последовательно Добавить миниатюру изображения с внешнего изображения с помощью плагина

В jquery используйте переменную php для выполнения файла enqueued jquery

Я загружаю некоторые jquery на определенной странице администратора WordPress, загружает jquery и отлично работает, но мне нужно, чтобы этот jquery запускался только в том случае, если существует переменная php.

В php я бы просто написал функцию и подключил ее к странице администратора:

Я enqueuing файл jquery, то есть foo.js, который содержит следующий jquery:

jQuery(document).ready(function($){ $('#someID.some-class > a').append('<div class="caption"></div>'); $(".caption").text("Add this text"); }); 

Поэтому файл foo.js загружается всякий раз, когда загружается файл themes.php, но я не хочу, чтобы jquery запускался, если переменная не задана на странице themes.php.

Я смущен относительно того, где и как я проверяю переменную и запускаю jquery.

Я просто добавляю jquery, повторяя jquery из функции?

Как-то добавить проверку переменной php в файл foo.js?

Solutions Collecting From Web of "В jquery используйте переменную php для выполнения файла enqueued jquery"

Я просто добавляю jquery, повторяя jquery из функции?

Как-то добавить проверку переменной php в файл foo.js?

Нет, нет.

Используйте wp_localize_script . Первоначальной целью этой функции было перевести js-скрипты, но она позволяет передавать любые переменные в js.

 function register_foo() { wp_register_script('foo-js', plugins_url('js/foo.js', __FILE__), array('jquery'), null); $mydata = array( 'foo' => 'bar', 'awesome' => 'yes' ); wp_localize_script('foo-js', 'mydata', $mydata); // this one do the magic wp_enqueue_script('foo-js'); } add_action('admin_enqueue_scripts', 'register_foo'); 

С этим фрагментом файл «foo.js» вставлен в страницы администратора, а переменная, являющаяся объектом json, передается скрипту, и вы можете использовать его по своему усмотрению.

Теперь, например, в вашем «foo.js» вы можете иметь;

 jQuery(document).ready(function($){ var foo = mydata.foo; var awesome = mydata.awesome; if ( foo == 'bar' ) { $('#someID.some-class > a').append('<div class="caption"></div>'); $(".caption").text("Is this script awesome? " + awesome + '!'); } });