Обновления 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

Апрель 8, 2017 г.

Wordpress, хотим ли мы того или нет, поддерживает работу специальных лент, которые называются архивами. Есть архивы по годам, месяцам и даже конкретным дням. Также поддерживаются ленты (архивы) по терминам таксономии (метки, теги, категории и т.п.). ...

Читать

Создание системы хлебных крошек в WordPress

Февраль 27, 2026 г.

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

Читать

Выводим дополнительные столбцы для кастомных публикаций в админке WordPress

Апрель 21, 2016 г.

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

Читать

Отключение страницы вложения в Wordpress

Январь 10, 2017 г.

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

Читать
 

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

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



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