От автора: в этом уроке мы продолжим написание плагина под названием Добавление в Избранное. В предыдущем уроке мы познакомились с понятием хуков и использовали хук для того, чтобы добавить нашу ссылку в контент статьи. При этом ссылка добавляется только для авторизованных пользователей. В этом уроке мы проработаем структуру плагина, создав необходимые папки и файлы.
![]() | Автор: Андрей КудлайЗовут меня Андрей Кудлай. Родом я из Украины, живу в Днепропетровске. Веб-программированию учился сам. Неплохо знаю HTML, CSS, PHP, JavaScript. |
Итак, для работы плагина нам потребуется подключать файлы стилей и скриптов. Также, возможно, нам потребуются картинки, которые мы захотим вывести на странице статьи или в админке. Давайте создадим для этих целей соответствующие папки и файлы.
Создадим в папке плагина 3 папки: js, css и img для скриптов, стилей и картинок соответственно. В папке js создадим файл скриптов — wfm-favorites-scripts.js и пропишем в него тестовый код:

Бесплатный курс «Создание тем на WordPress. Быстрый старт»
Изучите курс и узнайте, как создавать уникальные темы на WordPress с нестандартной структурой страниц
Скачать курс 1 2 3 | jQuery(document).ready(function($) { alert('Работает'); }); |
В папке css создадим файл стилей wfm-favorites-style.css и пропишем пару простых правил для ссылки, добавляемой плагином:
1 2 3 4 5 6 7 8 | p.wfm-favorites-link a{ text-decoration: underline; text-decoration-style: dotted; border: none; } p.wfm-favorites-link a:hover{ text-decoration: none; } |
Теперь давайте почистим главный файл плагина wfm-favorites.php. Сейчас в этом файле находится и хук и функция. Давайте создадим новый файл functions.php в корне папки с плагином и вынесем в него текущую и все следующие функции. Ну а в файле wfm-favorites.php подключим файл функций:
1 2 | require __DIR__ . '/functions.php'; add_filter( 'the_content', 'wfm_favorites_content' ); |
Если все сделано верно, то плагин должен работать без ошибок. Теперь подключим файлы стилей и скриптов. Для этого обратимся к еще одному хуку в файле wfm-favorites.php:
1 | add_action( 'wp_enqueue_scripts', 'wfm_favorites_scripts' ); |
И опишем новую функцию в файле functions.php:
1 2 3 4 5 | function wfm_favorites_scripts(){ if( !is_single() || !is_user_logged_in() ) return; wp_enqueue_script( 'wfm-favorites-scripts', plugins_url('/js/wfm-favorites-scripts.js', __FILE__), array('jquery'), null, true ); wp_enqueue_style( 'wfm-favorites-style2', plugins_url('/css/wfm-favorites-style.css', __FILE__) ); } |
Если мы нигде не ошиблись, то на странице статьи для авторизованного пользователя должны подключаться дополнительные файлы плагина, о чем может свидетельствовать новое оформление ссылки и модальное окно скрипта с уведомлением «Работает».
На этом текущий урок завершен. До встречи в следующих уроках.

Бесплатный курс «Создание тем на WordPress. Быстрый старт»
Изучите курс и узнайте, как создавать уникальные темы на WordPress с нестандартной структурой страниц
Скачать курс
Создание тем на WordPress. Быстрый старт
Изучите курс и узнайте, как создать тему на WordPress
Смотреть
Мысли вслух: внутри функции для подключения скриптов/стилей, в случае если например подключается большое количество скриптов, то множество раз повторяется функция wp_enqueue_script. Что если на такой случай создать ассоциативный массив (‘script_id’=>’url’) и через цикл пробегаться по нему функцией wp_enqueue_script, а при добавлении скрипта, добавлять просто новый ключ в массив ?