Обновления plugina References, v1.1

Времени придумывать что то самому последние полгода вообще нет, потому дорабатываю свои плагины по заявкам пользователей :).

References в плане доработок — это такая заброшка, которую я делал в рамках доработок сайта obrazovanie66.ru. Там требовалось установить множество связей между разными типами публикаций, а стандартного функционала не было.

Но недавно в support форум написал один чувак и попросил сразу кучу доработок, которые я бы сам вряд ли стал делать для себя (меня всё устраивало). Таким образом, пользователь подопнул прогресс доработок.

В итоге в версию 1.1 были добавлены два существенный дополнения — набор API функций и поддержка shortcode

API функции

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

Все функции являются статикой класса REFShraAPI. Вот их список и краткое описание (подробнее смотрите в коде файла модуля references.php).

REFShraAPI::config_load($postType = NULL, $refKey = NULL);
// Возвращает текущий массив конфигурации связей. Параметры позволяют отфильтровать список.

REFShraAPI::config_add($postType, $refKey, $linkedTypes, $title)
// Добавляет/Обновляет связь.

REFShraAPI::config_remove($postType, $refKey);
// Удаляет связь (но не трогает данные, которые храняются в post meta) по паре postType / refKey.

REFShraAPI::get($postID = NULL);
// Получает список связей для указанного post->ID. Если ID не указан, функция пытается получить текущий ID сама.

REFShraAPI::update($postID = NULL, $refkey, $postIDs);
// Обновляет данные для связей указанного материала.

Shortcode REF

В плагин добавлена поддержка шот-кода ref. Этот шоткод позволяет вставить список ссылок в нужное место статьи в виде unordered list (<ul>…</ul>). Шоткод может принимать два атрибута и позволяет зацепиться с помощью двух фильтров (apply_filter).

[ref id=»POST_ID» key=»REFERENCE_KEY»]

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

Фильтр reference_shortcode_items

Первый фильтр вызывается для массива ссылок, предоставляя возможность переопределить его. Элементы массива — объекты вида:

Если вы захотите поменять данные, то вам нужно будет добавить код вида:

Фильтр reference_shortcode_output

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

Мало букафф? Читайте есчо !

Сортировка публикаций в архиве по наличию прикрепленного изображения в Wordpress

Февраль 9, 2019 г.

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

Читать

Как добавить файл в список шаблонов в редакторе wordpress

Февраль 5, 2010 г.

Вещь из разряда know-how. Нужно добавить в интересующий вас шаблон комментарий вида: [crayon-6a10d17b1a02c583877071/] И тогда вы тот час же увидите в списке шаблонов редактора страницы ещё одну запись - "Имя вашего шаблона". Не правда ли просто?

Читать

Как добавить поддержку thumbnail в кастомный тип публикации

Август 16, 2020 г.

У базовых записей WP есть поддержка поля миниатюры, т.н. прикрепленное изображение. Рассмотрим как добавить поле миниатюры в редактор произвольного типа публикации (custom post type). А в конце статьи - пример вставки миниатюры в шаблон вашей публикации. ...

Читать

Обновление Inactive User Deleter плагина до v 1.1

Ноябрь 26, 2012 г.

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

Читать
 

Комментарии к «Обновления plugina References, v1.1»

Понравилась статья? Есть вопросы? - пишите в комментариях.



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