Как сделать плагин для wordpress
Т акже прилагаю видеоинструкцию, на которой процесс наглядно демонстрирую.
Зачем нужно делать собственный плагин на WP
Итак, вы, наверное, спросите, зачем нужно делать собственный плагин на Вордпресс? Ведь есть файл functions.php, в котором пользовательский код отлично работает. Отчасти, да, но не всё так просто. Давайте предположим такую гипотетическую ситуацию.
У меня есть кастомный код для оптимизации скриптов, подключены другие коды для ускорения WP , а также счётчики и средства аналитики на сайте. И я решил под нужный набор инструментов выбрать подходящую тему, заодно протестировать скорость работы:
Вариант 1. При каждой смене темы я переношу свои наработки из functions.php в аналогичный файл новой темы. Не скажу, что это сложно, но лишняя работа.
Вариант 2. Делаю кастомный плагин, который создать не труднее , чем дочернюю тему.
Сами понимаете, что второй вариант — самый удобный. Создать собственный плагин можно буквально за несколько минут.
А теперь давайте к делу. Поступаем так:
в есь код, который относится к функционалу темы, добавляем в functions.php.
в есь код, который не относится к функционалу темы, выносим в отдельный плагин.
Это не просто правила хорошего тона, но и фишка, которая позволяет упросить жизнь, например, при смене темы.
Конечно, некоторые пытаются избегать подключения лишних плагинов, но тут неважно, куда внесли код, хоть в functions.php, хоть в кастомный плагин, ресурсов будет есть одинаково. Так что смело делайте собственный плагин, это не приведёт к падению скорости.
По приоритетам подключения получите +/- тоже самое.
Так что, если код напрямую не связан именно с работой темы, например, если вы добавляете асинхронную загрузку скриптов, которая может работать с любой темой, то добавляйте её в плагин.
Но если вы вручную выставили теги async для ресурсов текущей темы вашего сайта, то добавляйте в functions.php, так как ресурсы в другой теме могут отличаться от текущей.
Создаём плагин для WordPress
А теперь давайте создадим плагин самостоятельно. Все плагины расположены в папке: ваш-сайт/wp-content/plugins/.
Обычная папка с плагинами
В качестве плагина в этой папке можно размести ть отдельный PHP — файл. Д авайте создадим новый файл с расширением . php.
Просто в конце названия файла должно быть .php
Вы можете свой PHP — файл разместить непосредственно в папке plugins , а можете создать отдельный каталог. Я предпочёл создать именно каталог.
Новая папка для плагина сделана
Придумайте уникальное название, лучше заранее проверить, нет ли плагинов с аналогичным названием в репозитории.
Теперь нужно открыть ранее созданный PHP- файл и внести в него закомментированный код:
У меня, к примеру, такой:
Что у нас здесь находится?
Plugin Name. Имя плагина, для названия можно использовать кириллицу. Не обязательно уникальное, но если планируете в будущем добавить в репозиторий, то лучше придумать что-то , отличное от других плагинов. Единственный обязательный параметр, всё остальное можно не указывать.
Plugin URI. Адрес сайта плагина. Если есть ресурс с документацией, описанием функционала и примерами работы, то укажите его.
Description. Описание плагина. Если планируете добавлять в репозиторий, то распишите понятно. Если нет, то можете данную строку не добавлять.
Author URI. Адрес сайта автора плагина.
Всё, по сути, плагин готов. Его уже можно активировать, но зачем нам пустой плагин? Давайте добавим в него код.
Такой же код, как и в functions.php
Заметили ошибку? Отлично, давайте ошибку оставим и попробуем активировать плагин.
Невозможно активировать свой плагин из-за ошибки в коде
Как видите, я получил фатальную ошибку, потому плагин не был активирован. И это ещё одно преимущество своего плагина перед functions.php. Если я допущу ошибку в файле темы, то я порушу весь сайт, если сделаю ошибку в плагине на этапе разработки, то просто не смогу его активировать. Но учтите, если вы накосячете в уже активированном плагине, то сайт всё равно будет порушен. Для проверки нового функционала лучше создавать тестовый плагин.
А сам код в плагине выглядит так:
Просто пример
Всё, в принципе, мы справились с задачей. Как видите, создать собственный плагин для WordPress очень просто, новичок справится без проблем.
Проблемы у вас вызовет разработка нового функционала, но не переживайте, большинство функций разработано задолго до вас и вы найдёте их в свободном доступе, в том числе и на моём сайте.
Собственный плагин готов
Как видите, задачка оказалась лёгкой. Да, созда ние собственн ого плагин а для WP точно проблемой не будет . Проблема — разработка функционала. Так что дерзайте, как решить самую простую проблему, вам уже объяснил.
Еще несколько лет назад я не писал ни одного плагина WordPress. Я создавал и настраивал множество тем для наших клиентов, но по какой-то причине продолжал говорить себе, что создание плагина выходит за рамки моих возможностей.
Оглядываясь назад, я понимаю насколько не прав я был тогда.
Если вы когда-нибудь чувствовали себя также, я вам кое-что скажу. Создание плагина WordPress не выходит за рамки ваших возможностей. Любой, у кого достаточно навыков, чтобы написать базовый PHP и изменить тему, может создать плагин.
Для чего нужно создать плагин?
Если вы такие же, как и я был когда-то, вы, вероятно, добавляли функциональность в свою тему вместо создания плагина. Есть много случаев, когда такой подход хорош, но есть также случаи, когда пользовательские функции лучше добавлять в плагин. Спросите почему?
Представьте такую ситуацию.
Вы добавили функциональность в свою тему, которая меняет аватар по умолчанию на ваш собственный аватар. Единственная проблема в том, что если вы смените тему, то ваш аватар сбросится. Но если бы вы добавили код в плагин, то аватар бы остался, даже если бы вы решили сменить тему.
Создание первого плагина за пять простых шагов
Я не шучу. Вы можете создать WordPress плагин за пять коротких шагов. И я покажу как.
1. Подключиться по FTP к сайту
Если Ваш сайт находится на локальном компьютере, то есть еще не запущен в интернет, то можете пропустить данный пункт, так как у вас уже должен быть доступ к сайту.
А если ваш сайт уже находится в сети, то читаем дальше.
И так, первое, что вы должны сделать - это получить доступ к вашему сайту через FTP с помощью выбранной вами программы FTP (у меня это WinSCP). Если вы не знакомы с FTP, то рекомендую вам прочитать об этом прежде, чем двигаться вперед.
2. Перейдите в папку плагинов WordPress
После того, как вы зашли на ваш сайт через FTP, вам нужно перейти в папку плагинов WordPress. Эта папка почти всегда находится в / wp-content / plugins.
3. Создайте новую папку для вашего плагина
Теперь, когда вы находитесь в папке с плагинами, пришло время создать папку для вашего плагина! Создайте новую папку, присвоив ей уникальное имя, используя строчные буквы и тире. Пример: my-first-plugin. Как только вы это сделаете, зайдите в вашу новую папку и перейдите к следующему шагу.
4. Создайте основной файл PHP для вашего плагина
Далее вам нужно создать основной файл для вашего плагина. Для этого создайте файл PHP в новой папке плагина и присвойте ему такое же имя, как my-first-plugin.php. После того, как вы это сделаете, откройте основной файл вашего плагина и приготовьтесь к редактированию.
5. Настройте информацию вашего плагина
Наконец, скопируйте и вставьте информацию о плагине ниже в ваш основной файл плагина. Не забудьте отредактировать детали, такие как имя плагина и URI плагина, поскольку они относится к вашему плагину.
Привожу перевод полей из описания плагина:
- Plugin Name - Название созданного плагина
- Plugin URI - Ссылка на плагин
- Description - Описание плагина
- Version - Версия плагина
- Author - Имя автора
- Author URI - Ссылка на сайт автора
Вот и все! Вы только что выполнили минимальное количество шагов, необходимое для создания плагина WordPress. Теперь вы можете активировать его в админке WordPress.
Что теперь?
На данный момент вы, вероятно, задаетесь вопросом, что этот плагин должен делать ?
Ну, конкретно этот - ничего! Я сказал, что покажу вам, как создать плагин, но не говорил, что покажу вам, как создать плагин, который делает хоть что-нибудь.
Шутки в сторону, цель этого поста - показать, насколько просто начать создавать плагины для WordPress.
Заставьте ваш плагин сделать что-то простое
Теперь, когда у вас есть плагин, давайте заставим его что-то делать.
Самый простой способ добиться успеха в WordPress - это действия и фильтры. Давайте ознакомимся с этой темой, создав простое действие, которое добавляет строку текста под всеми публикациями на вашем сайте. Скопируйте и вставьте этот код в ваш основной файл плагина (под информацией о плагине) и сохраните его.
Выход за рамки простого плагина
Если вы все же это сделали, то, надеюсь, мы сойдемся во мнении, что создать простой плагин WordPress относительно легко. Но что, если вы хотите создать плагин, который делает больше, чем просто выполнение одной простой задачи?
Действия и фильтры в WordPress
Если вы собираетесь начать создавать свои собственные плагины, я настоятельно рекомендую вам ознакомиться с тем, как работают действия и фильтры и какие из них доступны для использования.
Все это, вы можете почитать в кодексе WordPress.
Вот некоторые ссылки на кодекс wordpress:
WordPress функции
Во время разработки своих плагинов, часто приходится зайти в кодексе wordpress, для того чтобы вспомнить или узнать какую-то новую функцию. Тут очень много основных функций, что я даже не ожидаю, что вы будете знать для чего нужна каждая из них. Кодекс Wordpress этот как справочник. Поэтому рекомендуется часто посещать данный кодекс, чтобы освежить память и ускорить разработку. Вот для чего и нужно использовать Кодекс!
Если вы еще этого не сделали, создайте ваш первый плагин!
Создание плагинов WordPress - это чрезвычайно полезный способ, позволяющий глубже понять, как работает WordPress. Если вы этого еще не сделали, я настоятельно призываю вас попробовать свои силы в создании плагина. Если вы это сделаете и придумаете что-нибудь полезное, не забывайте, что вы можете свободно распространять его среди других через каталог плагинов WordPress.
Вы уже создали свой первый плагин или планируете создать его в ближайшее время? Если это так, напишите об этом в комментариях ниже!
Задачи
Видео десерт: Шокирующее интервью с разработчиком сайтов
Похожие статьи:
Понравилась статья?
Тогда поделитесь ею с друзьями и подпишитесь на новые интересные статьи.
Надеюсь, смогу доступно донести информацию не только для специалистов в PHP, но и для веб-мастеров, которые захотят внедрить на свой сайт небольшую, но полезную фичу.
Простейшая реализация плагина
Если не хотите заморачиваться, вот простейшая реализация. В результате, перед каждым постом будет выводиться блок кнопок.
Создайте файл с именем YandexShareLite.php или любым другим и скопируйте в него код. После этого загрузите данный файл по фтп в каталог /wp-content/plugins/ , зайдите в админку, в меню выбираете Плагины → Установленные, и жмёте ссылку Активировать для YandexShareLite .
Как это работает? С помощью add_filter() цепляется обработчик хука the_content . Обработчиком будет наша функция — yandexshare_run() . В качестве параметров передаётся содержимое поста. Таким образом, с ним можно делать вообще всё, что захочется. В данном случае, возвращаем код для генерации кнопок и старое содержимое.
WordPress славится своей расширяемостью. Это обеспечивает мехнанизм хуков, которые придуманы едва ли не на все возможные случаи. Полный список состоит из более, чем 1700, для версии движка 4.1, штук. Для написания плагинов знать всё не нужно. Официальной документации, обычно, хватает.
Продвинутая реализация плагина
Lite-версия получилась элементарной, верно? Не успели начать, а уже всё оказалось готово. Кто-то даже загорелся, что так же просто можно добавить код Google Adsense. Не буду разочаровывать — конечно же можно!
Но столь простых плагинов обычно не делают. Пользователю предоставляется возможность управлять настройками, которые нужно сохранить, применить и очистить при удалении плагина. Продвинутая версия умеет:
Кода стало гораздо больше, но логически за всё отвечают 4 блока.
Вывод кнопок
Код немного усложнился по сравнению с лайт-версией. Во-первых, мы учитываем размер кнопок и соцсети, в которых можно поделиться. Данные получаем из сохранённых настроек, либо определяем значения по умолчанию. Во-вторых, учитываем, что js-скрипты нужно подключать один раз.
Настройка функций плагина
Подключение настроек выполняется в 2 этапа. Сначала подцепляем экшен admin_menu , который вызывает функцию yandexshare_admin_menu . Данная функция определяет страницу с настройками. Ссылка появится в меню Настройка, под названием Настройки YandexShare, видна будет только администратору — опция manage_options . Идентификатором меню будет строка yandexshare-options , а за отображение страницы наших настроек отвечает функция yandexshare_admin_manage().
Комментарии помогут разобраться, что происходит в функции. Если возникнут какие-то вопросы, пишите их в комментариях, попробуем найти ответ.
Добавление ссылки настройки в списоке плагинов
Удаление сохранённых данных
С помощью функции register_uninstall_hook() можно указать свою функцию, которая будет вызвана при удалении плагина. Хорошо, если плагин подчищает за собой, не оставляя ненужных данных. У нас определяются две настройки: yandexshare_bigbtn для вывода маленьких кнопок и yandexshare_bnts , содержащая список сервисов.
В общем-то, на этом всё. Надеюсь, данных знаний достаточно для понимания основ. В дальнейшем, останется ставить задачу, искать описание соответствующих хуков и добавлять фильтры/экшны для работы с ними.
Свежим хлебушком типа батон -->
днём интернета
шоколадкой для работы мозга
коробочкой ароматного чая для бодрости продлением домена -->
продлением хостинга на +1 месяц
На языке непрофессионала плагин WordPress – это простая программа, которая помогает вам настраивать и улучшать ваш веб-сайт WordPress без необходимости редактировать базовые программы. Когда мастер WordPress плагин развития, вы будете иметь возможность добавлять всевозможные функциональности вашего блога в кратчайшие сроки. Но прежде чем стать профессионалом, вы должны изучить веревки.
Плагин WordPress – это программа или набор из одной или нескольких функций, написанных на языке сценариев PHP, которые добавляют определенный набор функций или услуг в веб-журнал WordPress, который может быть легко интегрирован с веб-журналом с использованием точек доступа и методов. предоставляется программным интерфейсом (API) плагина WordPress. – Написание плагина WordPress Codex
В сегодняшнем посте мы проведем вас через процесс создания вашего первого плагина WordPress. Мы сделаем это руководство простым, чтобы помочь разработчикам-новичкам, которые практически не знают PHP (язык сценариев, лежащий в основе WordPress).
Однако прежде чем приступить к написанию кода, мы рассмотрим несколько моментов, которые вам следует знать о разработке плагинов для WordPress.
Основы, которые нужно знать перед созданием плагина WordPress
В этом разделе мы раскроем первые несколько шагов, которые вам нужно выполнить при создании плагина WordPress. Кроме того, мы упомянем все различные вещи, которые вам нужно учитывать при написании плагина. Отлично. Начнем с основ.
Как назвать плагин WordPress
Имя вашего плагина должно быть уникальным, чтобы избежать конфликтов с другими плагинами. Чтобы убедиться, что ваше имя уникально, вы можете выполнить поиск в Google по имени. Кроме того, вы можете выполнять поиск в различных каталогах плагинов, включая репозиторий плагинов WordPress.
Чтобы назвать любой плагин, мы должны создать хотя бы один файл плагина (основной файл PHP), который вводит нас в наш следующий раздел.
Как создать файлы плагинов
Плагин может состоять из одного файла PHP или нескольких файлов в зависимости от того, для чего он предназначен. Самый важный файл – это главный файл PHP, который является эквивалентом index.php и index.html в темах WordPress и дизайне HTML соответственно.
Разработчикам WordPress рекомендуется по соглашению называть свой основной файл плагина в честь своего плагина. Например, основным файлом плагина для плагина под названием WP Renym plugin будет wp-renym.php. Если вы добавляете разделитель в свое имя, используйте только дефис (-) между словами, а не символы подчеркивания (_).
Как упоминалось выше, плагин может состоять из одного или нескольких файлов (изображений, JavaScript, языка, файлов CSS и т.д. ). В любом случае файлы ваших плагинов должны находиться в одном каталоге. Таким образом, для плагинов с именем WP Renym файл wp-renym.php будет помещен в папку wp-renym. Дополнительные подпапки могут быть добавлены внутри основной папки плагина для хранения и организации других файлов.
После того, как вы заложите весь код для плагина, вы затем сжимаете свою основную папку в zip-файл (в данном случае это будет архив wp-renym.zip), который будет загружен и установлен на сайте WordPress.
Добавление заголовка файла в основной файл PHP
При названии вашего плагина вы должны добавить другие детали, такие как описание, версия, лицензия, имя автора – в основном все, что будет отображаться под вашим плагином и рядом с ним на экране плагинов WordPress – заголовок плагина. Для этого вы должны использовать стандартный информационный заголовок плагина в верхней части вашего основного файла PHP. Вот так выглядит типичный заголовок:
Если вы будете использовать лицензию GPL2 или лицензию, совместимую с GPL2, укажите в заголовке следующую информацию о лицензии :
Объем этого руководства не позволяет нам выйти за рамки этих основных шагов. Вам нужно будет ознакомиться с написанием руководства по плагинам в кодексе, чтобы узнать больше о хуках плагинов WordPress, тегах шаблонов, сохранении данных плагина в базах данных, механизме параметров плагина и обновлении вашего плагина среди прочего. Кодекс также включает в себя обширную коллекцию ресурсов для подключаемых модулей, в которой есть видео-руководства, сложные темы и многое другое.
Теперь, когда мы рассмотрели основы, давайте напишем простой плагин WordPress, который будет выполнять две основные (но отличные) функции:
Как написать простой плагин для WordPress – WP Renym
В этом разделе мы напишем код для плагина WP Renym, о котором я упоминал все время.
Что вам нужно:
- Ваш любимый редактор кода (например, Notepad ++ и SublimeText )
- Браузер, чтобы увидеть ваш плагин в работе (например, Chrome )
- Рабочая установка WordPress
Название нашего плагина
Сначала мы проверили репозиторий плагинов WordPress и выполнили поиск в Google по нашему имени; В. П. Реним был свободен. Изначально я выбрал WP Rename, но он уже был занят.
Продолжаем … Откройте новый файл в редакторе кода и добавьте следующий код вверху после открытия плагина с помощью Добавление функций
Теперь добавим в плагин актуальные функции. Чуть ниже кода выше добавьте следующую функцию для исправления орфографических ошибок wordpress в WordPress :
renymwordpresstypo_fix – это уникальное имя, которое мы дали нашей функции. При добавлении новых функций никогда не начинайте их с wp – это для предотвращения любой будущей несовместимости с функциями кода WordPress, которые все используют префикс wp.
Наша функция PHP принимает ($ text) в качестве аргумента и возвращает первую строку wordpress, замененную второй строкой WordPress.
Чтобы заменить более одного слова (возможно, вы хотели бы отредактировать несколько слов в своем блоге или использовать плагин в качестве простого фильтра ненормативной лексики), замените приведенный выше код следующим кодом:
В приведенном выше коде мы уже выбрали слова для замены, например wordpress, goat, Easter и т.д. Мы также выбрали слова для замены, например WordPress, кофе, пасхальные каникулы и т.д. Надеемся, что код в некоторой степени говорит сам за себя:
- Функция renym_content_replace принимает ($ content) в качестве аргумента, заменяет все слова, содержащиеся в массиве $ search, и возвращает теперь измененные слова в WordPress.
- $ search содержит все слова, которые нужно заменить
- $ replace содержит заменяющие слова
- str_replace делает то, что умеет лучше всего, заменяя слова новыми словами
Обратите внимание, как мы добавляем префикс renym к каждой функции. Это предотвращает конфликты с другими плагинами, которые могут быть установлены. Вы должны иметь привычку добавлять префиксы к своим функциям, разрабатываете ли вы плагины, темы или виджеты.
Сохраните изменения. Функция renym_content_footer_note добавляет разметку HTML к параметру $ content и возвращает новое значение в WordPress. Мы также добавили к нашему тексту класс нижнего колонтитула, чтобы его можно было легко стилизовать позже.
Сжать папку
На этом этапе ваш окончательный файл wp-renym.php должен выглядеть так:
Сохраните все свои изменения. Сожмите папку WP Renym в архив wp-renym.zip (на Mac это так же просто, как щелкнуть правой кнопкой мыши, сжать файл – и на ПК, я думаю, это очень похоже). Просто убедитесь, что ваш файл сохранен с расширением .ZIP, иначе плагин не установится.
Используйте свой плагин
Загрузите и активируйте свой новый плагин WP Renym через экран плагинов WordPress. Поздравляю с написанием вашего первого плагина!
Ресурсы
Чтобы узнать больше о разработке плагинов для WordPress, ознакомьтесь со следующими ресурсами:
Заключение
Я надеюсь, что этот урок указал вам правильное направление в понимании плагинов. Этот пост должен послужить отправной точкой для разработки сложных плагинов WordPress, которые будут делать все, что вы хотите. Не останавливайтесь здесь, ознакомьтесь с ресурсами, которые я рекомендовал выше, чтобы расширить свои знания о разработке плагинов WordPress.
Если вы нашли это руководство полезным или у вас есть что добавить, мы будем рады узнать. Пожалуйста, поделитесь своими мыслями в разделе комментариев ниже. Увидимся вокруг ?
Частная коллекция качественных материалов для тех, кто делает сайты
В этой рубрике Вы найдете бесплатные уроки по Wordpress, которые позволят Вам усовершенствовать свой блог.
Почему WordPress лучше чем Joomla ?
Этот урок скорее всего будет психологическим, т.к. многие люди работают с WordPress и одновременно с Joomla, но не могут решится каким CMS пользоваться.
Про шаблоны WordPress
После установки и настройки движка нам нужно поработать с дизайном нашего сайта. Это довольно долгая тема, но мы постараемся рассказать всё кратко и ясно.
Самые первые настройки после установки движка WordPress
Сегодня мы вам расскажем какие первые настройки нужно сделать после установки движка WordPress. Этот урок будет очень полезен для новичков.
10 стратегий эффективного продвижения статей в блогах на WordPress
Продвижение статей в блоге - непростая задача. Часто бывает, что вы пишете действительно хороший контент, включаете визуальные эффекты, делаете правильные корректировки SEO, но это не дает ожидаемого результата.
Топ WordPress альтернатив для создания персонального сайта
Нужен персональный сайт, но вы не хотите задействовать WordPress? Тогда данная подборка для вас.
В поисках профессионального рабочего окружения для WordPress
За время работы проекта мы не раз рассказывали о настройках рабочего окружения для движка WordPress. WAMP для Windows, MAMP для Mac или XAMPP для обеих операционных систем. Сегодня мы бы хотели поговорить о минусах перечисленных инструментов, а также пролить свет на новые решения.
Работа с WordPress CLI
Данное руководство будет полезно как администраторам, так и обычным пользователям. В WordPress появился консольный инструмент, который поможет сэкономить кучу времени!
Читайте также: