Intereting Posts
Как сделать сумму всех сообщений, отображаемых в цикле Выровнять элементы формы с помощью css Как удалить пользовательские поля из селектора? Каковы термины и таксономия, как они связаны с постами и как эти три хранятся в базе данных? Канонический url отличается от пользовательских URL-адресов архива типа сообщения Организатор событий: список событий включает обычные сообщения и пользовательские поля? Как сохранить the_title () в переменной для повторного использования значения, а не просто отбросить его shortcode order для типа персонализированного события the_post_thumbnail возвращает полноразмерное изображение, как отлаживать? универсальный пользовательский каталог Запросить все опубликованные сообщения и вложение с определенным типом mime Добавить кнопки быстрого вызова в редактор HTML получить следующий следующий пост в single.php Чтение данных из огромного файла Json на основе заголовка и условий публикации в WordPress Предотвратите WordPress от аббревиатуры-long-slugs … -in-the-admin

Как включить enqueue_script для работы с зарегистрированным пользователем?

Я определяю wp_enqueue_script в файле определения pugin, и я вижу, что мой сценарий запускается, когда я вхожу в систему как администратор, но не как обычный пользователь. Почему это происходит? И как включить сценарии для всех зарегистрированных пользователей, а не только для администратора? Я сделал это в файле плагина:

function enqueue_team_management_scripts() { wp_enqueue_script("team-scripts", plugin_dir_url(__FILE__) . "js/team-scripts.js"); } add_action("wp_enqueue_scripts", "enqueue_team_management_scripts"); 

и это на моей странице шаблона:

 <button id="create_team" onclick="createTeam();" >CREATE TEAM</button> 

Когда я нажимаю кнопку, ничего не происходит (отображается ошибка в firebug)>

Solutions Collecting From Web of "Как включить enqueue_script для работы с зарегистрированным пользователем?"

Кроме того, помимо «где» вашей функции wp_enqueue_script() (например, тема, плагин и т. Д.), «Когда» также важно, с точки зрения ссылок на Action Action Action и порядок их увольнения.

Есть два разных скриптовых wp_enqueue_scripts , wp_enqueue_scripts и admin_enqueue_scripts , которые позволяют разделить скрипты и стили в зависимости от того, какой вид пользователь имеет в настоящее время.

Если вы не подключаете wp_enqueue_script() к одному из них правильно, это будет одной из потенциальных причин проблемы.

Предоставление кода, о котором идет речь, поможет нам найти ответ.

EDIT: если вам нужно / нужно, чтобы скрипт был только установлен для зарегистрированных пользователей, не являющихся администраторами, вы можете обернуть его с помощью условного оценщика с двумя частями, похожим на это:

 if( is_user_logged_in() && !current_user_can( 'administrator' ) ) { // enqueue stuff goes here } 

Это самый базовый метод тестирования условий, которые вы предоставили, но важно отметить, что лучше, более полные методы определения типа и возможностей роли пользователя, чем current_user_can (), поскольку эта простая функция возвращает тип ролей, а не конкретные возможности, которые, возможно, были добавлены / удалены в / из типа роли через плагин или в настройках в другом месте темы, и эти изменения могут повлиять или не повлиять на конечную цель.

Чтобы вывести свои скрипты для не зарегистрированных пользователей, используйте условное wp_enqueue_script() в сочетании с wp_enqueue_script() :

 add_action('wp_enqueue_scripts','enqueue_my_script'); function enqueue_my_script(){ if (!is_logged_in()) { wp_enqueue_script('my-script','YOUR SCRIPT URL'); } } 

Это приведет только к установке сценария для пользователей без регистрации. Если вы удалите условное выражение, оно введет скрипт для всех.

Если у вас уже установлен скрипт только для администраторов, скорее всего, в вашем коде есть условие is_logged_in() . Попробуйте найти и удалить эту строку кода.