Пример моего кода на PHP... И не только.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ChiefRed dd9e002105 Initial 6 months ago
logs Initial 6 months ago
res Initial 6 months ago
views Initial 6 months ago
Readme.md Initial 6 months ago
chiefred.php Initial 6 months ago
class.chiefred-admin.php Initial 6 months ago
class.chiefred.php Initial 6 months ago
index.html Initial 6 months ago

Readme.md

Плагин WordPress для интеграции с Редакцией

Написан в 2017 году.

Есть некоторые отступления от PSR. Но у WP свои стандарты кодирования, плюс тогда мой внутренний перфекционист, местами, желал странного. Сейчас, разумеется, автоформат — маст хэв!

Имеется видеоролик (3 минуты), о том, как сей плагин предполагалось использовать: https://youtu.be/qjWFutZEUlM

Если, вдруг, возникнет вопрос “Что еще за Редакция?” то про нее (12 минут) тут: https://youtu.be/Dn0X1Mhjg6c


Дальше оригинальное Readme плагина:


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

Системные требования:

  • WordPress 4.7.3+
  • PHP 5.4+ (gd, curl, json, mbstring)

Устанавливается плагин через панель управления WordPress: Плагины > Добавить новый > Загрузить плагин

Папка /wp-content/plugins/chiefred/logs должна быть доступна для записи.

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

Настройки сайта для взаимодействия с редакцией

  • ID этого cайта в Редакции – берется в первой колонке таблицы подраздела «Сайты» роли Администратора в Редакции.
  • IP-адрес сервера API и Порт API (Редакции) – указаны в подразделе «Обзор состояния системы» роли Администратора в Редакции – инфоблок «Реквизиты API Редакции».
  • Секрет синхронизации – последовательность случайных символов, длиной до 64 знаков. Допускаются только латинские маленькие и большие буквы, а также цифры.

Реквизиты данного сайта для настройки редакции

Важно после сохранения Секрета в плагине в точности скопировать его в настройки Вашего сайта в самой Редакции. Кроме него в реквизитах сайта в Редакции нужно указать:

  • Домен
  • IP-адрес сервера сайта;
  • Скрипт канонического URL статьи;
  • Скрипт сброса флага задержки.

Все это можно узнать на странице настроек плагина.

Синхронизация

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

Если же Вы выкладываете материалы на сайт повторно (переносите или восстанавливаете сайт с нуля, уже имея в Редакции готовые статьи), то начало процесса синхронизации можно ускорить с помощью утилиты «Выполнить синхронизацию», доступной в нижней части страницы настроек плагина.

Там же можно просмотреть «Журнал последней синхронизации» и отменить очередную внеплановую синхронизацию.

Плановая синхронизация осуществляется каждые четыре часа.

ВАЖНО! Для систематического осуществления процесса синхронизации необходимо обеспечить регулярный запуск скрипта wp-cron.php, отвечающего в WordPress за периодические задачи. На молодых сайтах с низкой посещаемостью для этого необходимо использовать системный планировщик хостинга. На эту тему существует множество материалов, найти которые можно в Google, например, по запросу: «WordPress запуск по crontab».

Отображение статей на сайте

Получив статью из Редакции, плагин создает обычную статическую страницу (page). WordPress (как и Редакция) поддерживает иерархическую структуру материалов. Так что размещаемые на сайте статьи органично вписываются в структуру данных WordPress. Дополнительные данные из Редакции, необходимые для работы плагина, размещаются в скрытых мета-полях статьи. Например, там хранятся, и выводятся плагином на странице статьи, мета-поля keywords и description (полезные для SEO).

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

Для более тонкой настройки вывода статьи можно отредактировать файлы, отвечающие за ее отображение:

  • /wp-content/plugins/chiefred/views/article.php – шаблон вывода;
  • /wp-content/plugins/chiefred/res/chiefred.css – таблицы стилей;
  • /wp-content/plugins/chiefred/res/chiefred.js – скрипты формы сбора возражений читателей.

Правда, вместо них Вы найдете: article.default.php, chiefred.default.css и chiefred.default.js – это входящие в поставку плагина стандартные (default) файлы, которые нужно скопировать, соответственно, в article.php, chiefred.css и chiefred.js, в которые и следует вносить изменения.

Плагин также добавляет визуальный редактор поля «Отрывок» в редакторе статей WordPress, где размещается Анонс статьи.

Отображение иллюстраций на сайте

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

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

ВАЖНО! В теле статьи хранится тег картинки с минимальным набором атрибутов: идентификатор, класс и ссылка на миниатюру выбранного формата. Остальные атрибуты и обертывание ссылкой добавляются динамически, в момент вывода статьи читателю. Это сделано для сохранения возможности изменить формат вывода иллюстраций, если Вы решите пересмотреть дизайн своего сайта. То есть, простым изменением настроек плагина можно менять вывод сразу всех иллюстраций во всех статьях, при условии что в теле статьи в тегах картинок были сохранены их идентификаторы.

Не удаляйте и не меняйте атрибут «id» картинок в статьях!