Домашняя » WordPress » Руководство для начинающих по разработке плагинов WordPress

    Руководство для начинающих по разработке плагинов WordPress

    Система WordPress CMS изменила облик нашего Интернета и позволила процветать новым идеям, и ее движение с открытым исходным кодом имеет сильные позиции, основанные на разработке программного обеспечения и веб-разработке. WordPress - это платформа для ведения блогов, которая позволяет запускать многие другие сценарии, такие как веб-форумы, доски объявлений и даже классическую систему управления контентом веб-страницы..

    Мы рассмотрим несколько способов начать разработку плагинов для WordPress. Шаги довольно просты и не требуют большой самоотдачи для изучения. Элементарные знания PHP были бы полезны даже при базовом понимании структуры файлов WordPress и панели администрирования..

    В этом кратком руководстве мы рассмотрим основные шаги, необходимые для создания простого плагина WordPress. Функциональность будет использоваться для создания динамических отрывков на основе числа, переданного в наш вызов функции. Вам нужно будет загрузить файл плагина и активировать его из панели администратора, а затем выполнить вызов, вызвав нашу функцию со всех страниц, на которых мы хотим, чтобы фрагмент появился. Ссылки на законченный исходный код плагина уже добавлены позже в этой статье :)

    Зачем разрабатывать для WordPress?

    Плагины - отличный способ улучшить функциональность вашего блога, добавив дополнительные функции. Они могут быть размещены в любом месте вашего шаблона с помощью хуков функций. Со временем расширяемость системы плагинов WordPress позволила огромному росту и сотням представленных разработчиками частей программного обеспечения..

    WordPress предлагает такие расширенные функции в своей CMS, что уникальных плагинов очень мало. Как разработчик, вы держите полный контроль над особенностями вашего блога. Найм разработчика PHP для создания системного плагина обойдется намного дороже, чем вы можете себе представить, а API достаточно прост для работы и изучения самостоятельно..

    В качестве вторичного аргумента, разработка на WordPress - отличная практика для настройки себя в других областях. Создание небольших плагинов и виджетов боковой панели в WordPress поможет вам понять, как на самом деле работает бэкэнд-система. Это не ограничивается WordPress, поскольку вы получите более глубокое понимание подавляющего большинства контент-систем..

    1. Структура папки WP

    Введение в структуру папок WordPress покажет основные каталоги приложений. Внутри wp-контента вы найдете плагины каталог. Здесь будут размещены все ваши отдельные плагины, отдельные файлы или правильно названные подкаталоги.

    Для небольших плагинов, которые требуют только один файл .php, у вас есть возможность поместить его непосредственно в каталог plug-ins /. Однако, когда вы начинаете разрабатывать более сложные приложения, гораздо полезнее создать подкаталог с именем вашего плагина. Внутри вы можете разместить JavaScript, CSS и HTML, а также ваши функции PHP.

    readme.txt Файл также может быть полезен, если вы планируете предложить свой плагин для скачивания. Этот файл должен включать ваше имя и то, что делает плагин. Как автор, вы также можете рассмотреть возможность включения подробностей о каждой ревизии и о том, какие обновления вышли.

    2. Запуск вашего PHP-файла

    При создании нового плагина вам нужно начать с простого файла PHP. Это может называться как угодно, но, как правило, должно отражать официальное название вашего плагина. Так, например, я создал наш базовый код и назвал мой файл hongkiat-excerpt.phps.

    Первые строки вашего плагина должен быть комментарием информации для парсера. Это чрезвычайно важно, так как WordPress не сможет обработать ваш файл без него. Ниже приведен пример фрагмента кода, который вы можете скопировать и сформировать по своему усмотрению..

     

    Имя плагина - это то, что будет отображаться на вашей административной панели администратора, когда вы перейдете к активации. То же самое с URI, который будет размещен в области сведений внутри панели плагинов. Хотя не обязательно указывать версию или описание, ваш плагин выглядит более профессионально.

    3. Соглашения об именах WordPress и лучшие практики

    Есть несколько способов структурировать ваш плагин. Много раз разработчики PHP создавали целую систему классов, чтобы избежать коллизий с функциями и именами переменных. Если вы не знакомы с расширенной функциональностью ООП в PHP, тогда лучше всего написать свой код в примерах функций.

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

    При написании примера кода лучше всего следовать правилам и руководствам, установленным WordPress. Поскольку уже определено так много внутренних функций, вы можете избежать дубликатов, добавив метку ко всем вашим переменным и именам функций..

     

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

    4. Погружение в фильтры и действия

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

    Эти два фрагмента кода входят в стандарт WordPress API. Фильтры и действия позволяют разработчикам плагинов обновлять фрагменты кода в админ-панели WordPress, относящиеся к вашему новому плагину. Это означает, что вы можете добавить новую вкладку на боковой панели или дополнительные ссылки на настройки для параметров вашего плагина..

    Понимание add_filter ()

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

    Например, вы можете создать фильтр для изменения $ the_content которая представляет собой переменную, установленную WordPress и содержащую весь контент статьи WordPress. Для нашего плагина мы будем принимать $ the_content и сокращение длины символов в отрывке.

    Фильтры пригодятся, когда вы пишете плагины для настройки внешнего вида вашего блога. Они особенно популярны при написании виджетов на боковой панели или небольших функций для изменения способа отображения сообщения. Ниже приведен пример строки кода, показывающей, как применить фильтр.

    add_filter ('wp_title', 'hongkiat_func');

    Здесь мы добавляем фильтр в заголовок страницы WordPress. Обратите внимание, что этот код не относится к нашему официальному плагину и используется только в качестве примера здесь.

    add_filter Функция является родной для WordPress и используется для добавления нового фильтра к переменной, найденной в содержимом страницы. В строке выше мы нацеливаемся $ wp_title который содержит заголовок нашей текущей страницы. Затем мы передаем эту переменную в фальшивую функцию под названием hongkiat_func () который затем может манипулировать и возвращать новый тег заголовка для любых целей.

    Понимание add_action ()

    Действия аналогичны фильтрам в том, что они не работают с битами данных, а вместо этого нацелены на предварительно определенные области в ваших шаблонах и панели администратора. В качестве примера вы можете применить действие всякий раз, когда обновляете или редактируете содержимое страницы. WordPress предлагает полный список действий в своей документации API. Ниже приведен небольшой список примеров действий для ознакомления с некоторыми заранее определенными целевыми областями..

    • publish_post - вызывается, когда публикуется сообщение или когда статус меняется на “опубликованный”
    • save_post - вызывается, когда сообщение / страница создается с самого начала или обновляется
    • wp_head - вызывается, когда шаблон загружен и запускает wp_head () функция
    • loop_end - вызывается сразу после того, как последний пост был обработан через цикл WordPress
    • trackback_post - вызывается всякий раз, когда в запись добавляется новый трекбек

    Опять же, мы можем видеть, как просто сводится этот код. Если вы понимаете разницу между действиями и фильтрами, вы будете гораздо ближе к созданию всеобъемлющих, работающих плагинов WordPress. Ниже приведена другая строка кода, инициализирующая функцию действия на save_post крюк. Чтобы пояснить еще раз, это не относится к нашему текущему плагину для разработки и используется только в качестве примера кода для понимания add_action () функция.

    add_action ('save_post', 'notify');

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

    Завершение нашей логики плагина

    Завершая наш путь, мы добавим нашу последнюю функцию прямо в наш файл плагина. Документация по API очень специфична и предоставляет отличный ресурс для разработчиков, которые могут иметь сложные вопросы. Материал может показаться сложным, если вы не знакомы с PHP, но не торопитесь с концепциями, и все начнет течь естественным путем!

    Функция ниже должна быть добавлена ​​непосредственно после комментария заголовка вашего плагина. В качестве альтернативы это также может быть размещено внутри вашей темы functions.php файл. Код используется для создания динамического содержимого поста на основе ограниченного диапазона символов.

    Таким образом, для нашего примера мы можем ограничить выдержки истории только 55 символами с hk_trim_content () функция. Вы можете легко вызвать этот бит кода из виджета боковой панели или одного из файлов вашей темы, чтобы заменить $ the_content.

    = $ limit) array_pop ($ content); $ content = implode ("", $ content). '…';  else $ content = implode ("", $ content);  $ content = preg_replace ('/\[.+\]/', ", $ content); $ content = apply_filters ('the_content', $ content); вернуть $ content;?> 

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

    Вы также можете заметить, что мы используем звонок apply_filters которая является другой специфичной для WordPress функцией. Это еще один аспект, который вам не нужно полностью понимать, но он помогает в будущем программировании на WP. Посетите справочную страницу apply_filters для получения более подробной информации и часто задаваемых вопросов по теме..

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

    Поэтому, чтобы вызвать эту функцию, нам нужно добавить параметр в наши файлы шаблонов. Это будет размещено где-то, возможно, в вашем index.php или же loop.php файл (ы) и потребует от вас сначала установить плагин. Пример ниже:

    Установка и запуск плагина

    Я создал пример файла для плагина для демонстрации, если вы хотите пропустить жесткое кодирование. Просто скачайте этот файл (переименуйте его в .php) или скопируйте / вставьте код в новый документ PHP и загрузите его на свой / WP-содержание / плагины каталог.

    После завершения вы захотите получить доступ к панели администрирования WordPress и просмотреть свой текущий набор плагинов для только что установленной демонстрации. После активации ничего нового не произойдет, пока мы вручную не добавим вызов нашей функции. Для этого просто перейдите Внешний вид -> Редактор и искать single.php.

    Этот файл содержит все шаблоны HTML / CSS для вашей основной страницы публикации статьи. Прокрутите вниз, пока не найдете содержимое() и замените приведенным выше примером кода. Это ограничит все страницы вашей статьи до 55 символов, независимо от того, какой вид используется. Вы также можете добавить эту функцию к аналогичным страницам в каталоге шаблонов, таким как search.php или же archive.php.

    Заключение

    Вот некоторые из основ, с которых вы можете начать работать в разработке WordPress. Система плагинов обширна и содержит множество внутренних функций. Если у вас уже есть идея для плагина, попробуйте его на локальной установке WordPress, чтобы попрактиковаться в этих темах..

    Если вас все еще смущает большая часть информации, вы можете просмотреть документацию по WordPress и найти там свой ответ. Сообщество разработчиков полно полезных пользователей, а форумы хранят архивы с вопросами из лет назад.