Вставка PHP кода в WordPress через виджеты. Плагины — Документация Webasyst Как редактировать плагин

В wordpress, по сути, существует 2 разных подхода для добавления функциональных элементов в сайдбар или футер блога — это использование виджетов, а также добавления php кода и специальных wordpress функций в файлы шаблона. Первый вариант удобнее для пользователей без сильной технической подготовки, весьма нагляден и прост, второй — разработчикам, которые хотят управлять всеми нюансами отображаемой информации. Но иногда возникает задача, когда нужно эти 2 подхода совместить. Самый простой пример это когда вы создаете сайт под заказчика — он должен получить работающую админку с некоторыми несложными (!) опциями для управления проектом. Вы же не будете его вводить в курс дела по различным вордпресс функциям, какие параметры там есть как работают и т.п. В таком случае, без виджетов не обойтись.

В одном из прошлых постов я уже рассказывал процесс это не такой сложный, как может показаться на первый взгляд. Хотя, в принципе, почти все wordpress темы уже изначально поддерживают виджеты. Второй нюанс в данном вопросе — не все задачи можно решить с помощью стандартного набора видежтов, которые имеют лишь базовые настройки — заголовок и пару опций. В то время как WP предоставляет куда больший функционал, что иногда приходится использовать. Взять хотя бы виджет «Свежие записи» и сравнить его с — виджет позволят выбрать только количество ссылок в блоке, ни тебе сортировки, оформления, типа архива. Виджеты удобные, но зачастую предоставляют мало опций. Помогает в этом деле — добавление PHP кода непосредственно через виджеты с помощью плагина PHP Code Widget.

Плагин PHP Code Widget

Данный плагин добавляет в wordpress новый тип виджета, который очень похож на стандартный текстовый блок. Называется он PHP Code. Скачать плагин можно , установка стандартная — копируете файл плагина в /wp-content/plugins/, активируете в админке, после чего на странице виджетов появится новый элемент.

Дабы добавить php код просто перетаскиваете виджет в нужное место панели вижетов шаблона и в текстовом поле пишите свой php код. Важно при этом использовать правильный синтаксис дабы не возникало ошибок, а интерпретатор воспринял код как нужно! Как видите, плагин предельно прост в использовании, протестирован мною на парочке сайтов, где отлично работает. Как альтернативу могу также посоветовать продвинутый , который кроме PHP работает с JavaScript и шорткодами.

Что же касается плагин PHP Code Widget, то сам принцип добавления кода через виджеты поможет пользователю полностью перейти на работу с шаблоном через механизм виджетов. Даже, если пользователь не слишком силен в технических аспектах, порядок отключения или изменения определенных элементов шаблона будет намного проще чем поиск нужного участка кода в файлах шаблона. С помощью такого подхода можно также легко работать с уже созданными работающими сайтами, которые поддерживают вижджеты и где вам нужно внести какие-то изменения. Например добавить код sape в wordpress — через виджеты пользователь сможет понять где и что у него отображается. Или вам заказали разработку каких-то изменений на сайте, а внедрение их в файлы шаблона не так просто реализовать — допустим имеется блок с табами, где в одну из закладок нужно вывести информацию — весьма нецелесообразно удалять плагины табов, потом добавлять их поддержку вручную через шаблон, а дальше уже вставлять код требуемых изменений. Во много раз проще установить плагин PHP Code Widget и добавить информацию в табы через виджеты.

В общем, нельзя сказать, что необходимость добавления PHP кода через виджеты есть всегда, но иногда такая задача, как видите, может возникнуть. В этом случае PHP Code Widget поможет решить все вопросы легко и быстро. Простой такой, но весьма полезный модуль.

P.S. Заказывать книги в интернете стало еще проще — специальный книжный интернет магазин онлайн имеет широкий выбор товаров, доступные цены и доставку прямо к вам домой.
Одесские автомеханики могут все, если нужны стартеры и автомобильные генераторы в Одессе купить или заказать в вместе с установкой — нет проблем, обращайтесь в Starter.od.ua.

Это главный файл в вашей теме WordPress. Располагается в /wp-content/themes/{тут название вашей темы}/functions.php .
В нём определяются важные свойства темы, кастомизируются хуки, внешний вид и её функциональность, а также добавляются некоторые необходимые вам функции. Этот файл загружается каждый раз при открытии любой страницы WordPress, поэтому с его помощью можно изменить любой элемент сайта. В связи с этим, многие советы а-ля «как изменить что-то в WordPress без плагинов » часто касаются именно внесения изменений в functions.php, вместо того, чтобы создать под этот функционал отдельный плагин или воспользоваться готовым решением. Зачастую это приводит к информационной перегрузке этого файла, код становится тяжело разобрать, а внести исправления ещё сложнее. Но не это самое опасное. Самое опасное — это то, что при смене активной темы пропадёт часть или весь необходимый функционал сайта .

Чем отличается functions.php от плагина

Ничем. По своей сути, functions.php и есть эдакий глобальный неотключаемый плагин, который привязан к текущей теме. Как он подключается в WordPress, можно посмотреть в wp-settings.php . Как видно из исходного кода, его загрузка происходит после всех плагинов, однако, это не даёт никаких недостатков или преимуществ, разве что возможность переопределить что-то в подключенных плагинах. На скорость исполнения кода это также никак не повлияет. Влияет только содержание плагинов и functions.php. Поэтому, будьте внимательны при выборе активных плагинов для своей темы и откажитесь от ненужных, малополезных вам, тогда вы сможете облегчить ваш сайт и ускорить его работу.

Когда нужно использовать functions.php

Руководствуйтесь следующим правилом: если функционал напрямую связан с текущей темой, но не с работой сайта, записывайте его в functions.php.

К примеру, это может быть

  • Настройка миниатюр
  • Установка размеров сайдбаров
  • Настройка мест под виджеты
  • Объявление мест под навигационное меню
  • Настройки темы
  • Дополнительные функции вашей темы

Когда стоит избегать использования functions.php

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

  • Определение счётчиков посещаемости (Google Analytiсs, Yandex.Metrika, Liveinternet)
  • Настройка дополнительного функционала админки (например, )
  • Конфигурирование исходного кода ()
  • Определение шорткодов
  • Регистрация

Списки неполные, вы можете определить их содержание сами под себя.

Куда внести данный код, если не в functions.php? Вы можете написать специальные плагины под них, однако, есть способ интереснее и проще.

mu-plugins как альтернатива functions.php

К нам в современные версии WordPress из WordPress MU(Multi-User) пришёл интересный функционал, называемый MU Plugins . Суть его заключалась в следующем. Администратору WordPress MU порой требовалось определить плагины для всей сети сайтов. Обычным функционалом этого было не добиться, поэтому ввели специальный раздел: /wp-content/mu-plugins/ , где они и определялись. Ещё что интересно, файлы плагинов из этой директории загружаются раньше всех остальных, что даёт возможность предопределить некоторые константы или настройки.
Позже WPMU упразднили, его код интегрировали с основным блоговым, и теперь любой WordPress может использовать функционал MU-plugins, который теперь расшифровывается как Must Use , то есть обязательный к использованию.

Как использовать mu-plugins

Вначале нужно создать специальный раздел /wp-content/mu-plugins/
В него мы помещаем нужные файлы-плагины. В отличие от обычных плагинов, здесь не нужно выдерживать специальный синтаксис, а функционал можно объявлять напрямую

Здесь для примера создан файл с кодом счётчиков посещаемости.
Внутри этот файл выглядит вот так

// ... Вместо этой строки вставляем код счётчиков...

В админке он будет выглядеть как Необходимые

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

Локализация

Локализация плагинов реализуется полностью аналогично локализации приложений (документация). В папке locale следует разместить файлы переводов *.po и *.mo и подключать ключи в коде следующим образом:

  • _wp("string") в PHP (вместо метода _w(), который работает только с локализацией приложения, следует использовать метод _wp(), подгружающий локализацию плагина),
  • [`string`] в шаблонах Smarty (здесь нет отличий от локализации приложений).

Название и описание плагина (name и description в конфигурационном файле) переводятся с использованием локализации плагина по умолчанию, таким образом указывать "name" => _wp("НАЗВАНИЕ ПЛАГИНА") не надо - достаточно просто указать "name"=>"НАЗВАНИЕ ПЛАГИНА" .

Использование локализации в статических методах

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

Class appMyPlugin extends waPlugin { public static function displayData() { //в обеих строках укажите ID приложения и своего плагина waLocale::loadByDomain(array("app_id", "plugin_id")); waSystem::pushActivePlugin("plugin_id", "app_id"); $result = _wp("..."); waSystem::popActivePlugin(); return $result; } }

База данных

Если плагин использует собственные таблицы в базе данных, то имена таблиц должны начинаться с фрагмента вида __ , например: shop_ebay_ tablename .

Подключение плагина

Для того чтобы написанный плагин заработал, необходимо подключить его в системном конфигурационном файле приложения wa-config/apps/ APP_ID/plugins.php , добавив в него строку:

"plugin_id" => true

Пример этого файла для приложения «Блог» (wa-config/apps/blog/plugins.php):

true, "tag" => true, "category" => true, "gravatar" => true, "favorite" => true, "troll" => true,);

В этом же файле можно отключить ненужные плагины.

install.php и uninstall.php

Если при установке плагина требуется выполнить какие-то нестандартные действия (например, добавить новые поля в существующие таблицы приложения), то логику таких действий необходимо описать в конфигурационном файле lib/config/install.php . Пример добавления дополнительного поля в таблицу при установке плагина:

$model = new waModel(); try { $model->query("SELECT `custom_field` FROM `shop_product` WHERE 0"); } catch (waDbException $e) { $model->exec("ALTER TABLE `shop_product` ADD `custom_field` INT(11) UNSIGNED NULL DEFAULT NULL"); }

Действия, которые нужно выполнить при удалении плагина, аналогичным образом описывайте в файле lib/config/uninstall.php .

Создание и удаление собственных таблиц плагина в файлах install.php и uninstall.php описывать не нужно — таблицы автоматически создаются и удаляются на основании содержимого другого конфигурационного файла: db.php . См. « ».

Пример

Плагинная платформа была внедрена во фреймворк вместе с приложением «Блог », поэтому для дальнейшего изучения рекомендуем установить это приложение и рассмотреть плагины, написанные для него (плагины устанавливаются через «Инсталлер»). Для «Блога» написаны плагины различной направленности и практического применения: для фронтенда, бекенда, расширяющие возможности пользовательского интерфейса, выгрузки данных и пр.

CKEditor это WYSIWYG-редактор, т. е. «что вижу то и получаю». Этот редактор можно применять, например, в WordPress"е (плагин CKEditor for WordPress), а также в своих собственных скриптах. «На входе» вы работаете в редакторе как, например, бы работали в LibreOffice или в MS Word, а «на выходе» вы получаете HTML-код. Вот так выглядит этот редактор в WordPress"е:

Изначально, CKEditor поставляется в трёх пакетах, разница между ними следующая:



Т.е. эти пакеты содержат различный функционал (Basic и Standard - усечённый функционал). Но даже пакет Full может быть дополнен дополнительными, очень полезными плагинами, именно о них я сейчас и расскажу. Для своих целей подобрать нужный набор плагинов можно на очень удобной

Скрыто от гостей

(для WordPress"а плагины можно добавить в Панеле управления сайтом, в разделе «Плагины», выбрать «Добавить новый»).

1. Base64 Image

Скрыто от гостей

Каждый, кто оформлял сообщения на форуме, в блоге, в WordPress"е или в самописной CMS, знает, что картинки нужно сначала загрузить на сервер, чтобы иметь возможность вставить их в свой пост. Если вы пишите свою CMS и используете CKEditor, то вам отдельно нужно написать скрипты, которые будут загружать ваши картинки на сервер. Плагин Base64 Image всё меняет, теперь нет необходимости это делать - просто добавляйте ваши картинки, которые будут переведены в строки base64 и сохранены среди HTML-кода. Также можно добавлять внешние ссылки. Выбираем для загрузки файл:

Если перейти к просмотру HTML-кода, то можно увидеть следующее:

2. Spoiler

Скрыто от гостей

Позволяет добавить спойлер, который будет скрывать текст.

3. Word Count & Char Count Plugin

Скрыто от гостей

Этот плагин считает слова и символы, которые вы написали в редакторе. Может быть полезным, когда нужно уложиться в определённое количество символов, или когда нужно написать статью состоящую из заданного количества слов.

4. Media (oEmbed) Plugin

Скрыто от гостей

Чтобы вставить, например, видео, приходится лезть в исходный HTML-код, искать там нужное место и уже там вставлять. Этот плагин позволяет значительно упростить процесс вставки видео, фото, аудио и прочего. Поддерживает просто какое-то невероятное количество разнообразных сайтов. Зайдите на оф. сайт, вас поразит разнообразие поддерживаемых источников.

5. Code Snippet

Скрыто от гостей

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

Для этого плагина есть достойные альтернативы

Скрыто от гостей

,

Скрыто от гостей

.

6. Font Awesome

Скрыто от гостей

Содержит огромное количество картинок (пиктограмм), которые можно вставить в текст, при этом возможно выбрать любой цвет.

7. Insert Symbol

Скрыто от гостей

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

8. Keep TextSelection

Скрыто от гостей

Плагин который меня потряс! Довольно часто возникает желание посмотреть или исправить HTML-код. Что для этого мы делаем? Мы переключаемся в режим исходного кода и долго ищем нужное нам место. Этот потрясающий плагин здорово облегчает жизнь: в режиме WYSIWYG мы выделяем нужный нам фрагмент, переключаемся в режим исходного кода и сразу попадаем в нужное нам место - причем исхоодный код также выделен:

9. BBCode Output Format

Скрыто от гостей

Как упростить оформление сообщений на форумах, на торрент-трекерах, на сайтах, где нет WYSIWYG режима, а есть только BBCode? Для этого есть очень изящное решение, благодаря плагину BBCode Output Format мы можем оформлять наше сообщение в CKEditor и с лёгкостью переносить полученный BBCode на форум или торрент-трекер.

Кстати, ведь популярный сайт создаёт значительную нагрузку на хостинг. Важно, чтобы ваш хостер обеспечивал устойчивую работу в любых ситуациях, чтобы сайт не «лежал» от отключений электричества в дата центре, частом смене программного обеспечения, частых DdoS-атаках или просто от нагрузок сайтов и т.д. Ведь пользователям это быстро надоест и они уйдут на сайт-конкурент. Я перебрал довольно много решений и нашёл очень хороший вариант - 100 рублей в месяц! За эти деньги даётся профессиональный хостинг, с отличным аптаймом, с бесплатным доменом второго уровня в подарок (!), с 2 гигабайтами места на SSD диске, с неограниченным количеством баз данных, с возможностью подключать неограниченное количество новых доменов (платить придётся только за каждый новый домен - 139 рублей). Вообще, всего хорошего так много, что проще всего посмотреть это

Скрыто от гостей

.

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

Скрыто от гостей

Дающий бесплатный месяц (в дополнении к 2 неделям, которые и так даются всем), если хотите, можете воспользоваться.

Хотите узнать, ? или ? Всё это и многое другое на сайте . Подписывайтесь на нашу e-mail рассылку (внизу страницы) или на и вы узнаете первым о новых статьях! Также вступайте в нашу

Поделиться: