Создание плагина Добавление в Избранное. Урок 2

Создание плагина Добавление в Избранное

От автора: в этом уроке мы продолжим написание плагина под названием Добавление в Избранное. В предыдущем уроке мы познакомились с базовыми принципами написания любых плагинов и создали заготовку для нашего плагина. В этом уроке мы узнаем, как программируются плагины и напишем первую функцию нашего плагина.

автор

Автор: Андрей Кудлай

Зовут меня Андрей Кудлай. Родом я из Украины, живу в Днепропетровске. Веб-программированию учился сам. Неплохо знаю HTML, CSS, PHP, JavaScript.

скачать исходникискачать урок

Итак, как же пишутся плагины и как плагин взаимодействует с ядром WordPress и сайтом. Чтобы узнать это, мы можем вновь обратиться к статье на официальном сайте. Из нее мы узнаем, что взаимодействие плагина с ядром возможно благодаря системе хуков или зацепок («хук» от англ. «hook» — крючок, зацепка). Это действительно удачное название, поскольку с помощью хуков мы можем буквально прицепить нашу пользовательскую функцию к функции WordPress.
Суть работы хуков состоит в том, что множество функций WordPress перед возвращением результата своей работы проверяют, есть ли какие-то функции, которые дополнительно «прицепили» к ним, и, если таковые есть, тогда эти функции также будут выполнены.

Хуки в WordPress делятся на 2 категории – Фильтры (filters) и Действия (actions). Фильтры используются для изменения каких-либо данных (например, название статьи, контент и т.д.). Действия предназначены для замены стандартных действий ядра нашими действиями.

Для регистрации Фильтров используется функция add_filter(). Для регистрации Действий – функция add_action(). Итак, наш плагин должен добавить к контенту статьи ссылку на добавление в избранное. Соответственно, мы будем работать с функцией the_content(), к которой и прицепим нашу собственную функцию.

Итоговый код будет таким:

add_filter( 'the_content', 'wfm_favorites_content' );

function wfm_favorites_content($content){
	if( !is_single() || !is_user_logged_in() ) return $content;
	return '<p class="wfm-favorites-link"><a href="#">Добавить в Избранное</a></p>' . $content;
}

Здесь первой строкой кода мы прицепляем к функции the_content функцию wfm_favorites_content. Ну а в самой функции wfm_favorites_content мы проверяем, находимся ли мы на странице записи и авторизован ли пользователь. Если хотя бы одно из этих условий не выполнится – мы просто вернем контент. Если же выполняются оба этих условия, тогда мы добавим перед контентом ссылку для добавления в избранное.

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

Хотите быстро научиться создавать сайты и блоги на WordPress с уникальным дизайном?

Получите самую полную в Рунете бесплатную систему обучения создания сайтов на WordPress “Уникальный сайт с нуля”

Получить

Метки: ,

Комментарии Вконтакте:

Комментарии Facebook:

Комментарии (1)

  1. Леонид

    У меня такая интересная проблема возникла — мой плагин отрисовывает начальный интерфейс как обычно — через фильтр ‘the_content’ — это форма-анкета для пользователя, после отправки которой, она скрывается и выводится сообщение об успешном получении данных. После того, как администратор обработает полученные данные пользователю, должна выводиться итоговая форма с информацией — проблема в том, что в этой форме есть список, данные с которого должны обрабатываться с использованием AJAX — Как правильнее реализовать вывод этой формы в пользовательской части?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree