WebDesignMagazine.ru – Журнал о веб-дизайне

Лучший метод добавления JavaScript кода в плагины WordPress

0

Эта статья представлена вам в качестве руководства о том, как добавить код JavaScript к своим плагинам для Вордпресса.

Практический пример из WP Wall плагина.

Начните с подцепки(hook) вашей функции к wp_print_action:

Затем добавьте скрипт, который хотите использовать:

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

Передача параметров JavaScript используя wp_localize_script

Вордпресс предоставляет элегантный способ по передачи параметров вашему JavaScript коду, используя wp_localize_script функцию.

Вордпресс  автоматически добавит параметры до вызова вашего скрипта, даже с использованием CDATA для проверки.

В предыдущем примере refreshtime и  mode параметры были приняты и могут быть легко доступны в JavaScript:

Загружайте скрипты только в случае необходимости

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

На админ странице вы можете точно указать какие скрипты и на каких страницах они должны загружаться.

Может также быть использовано admin_print_scripts действие, вам просто нужно будет добавить название страницы. В предыдущих примерах, скрипты загружались бы только на / wp-admin/options.php странице.

Заключение

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

Поделиться:

Об Авторе

Главный редактор портала WebDesignMagazine.ru. Пишу статьи и делаю переводы для веб-сайта, занимаюсь продвижением журнала в социальных сетях и PR-каналах, а также несу ответственность за маркетинговые стратегии нашего проекта.