Обновления 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, заданные в текущий момент

Декабрь 20, 2016 г.

Если вам понадобилось посмотреть какие же фильтры установлены в текущий момент, то обращаться к WP API не нужно - такой функции нет. Полный список активных хуков хранится в глобальной переменной $wp_filter. [crayon-69086e52929e4911248218/] Это массив ...

Читать

Как получить стоимость товара в WC_Order

Ноябрь 22, 2020 г.

Искал как вытянуть стоимость позиций товара из заказа в woocommerce. А в итоге обнаружил неточность в документации плагина. Если вы располагаете идентификатором заказа, который по сути является posd_id, то алгоритм получения данных о строках заказа ...

Читать

Создание публикации по отправленным данным Contact form 7

Июнь 6, 2018 г.

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

Читать

Переводим (русифицируем) плагин для wordpress

Январь 22, 2010 г.

Допустим вы написали плагин для wordpress. Что дальше? Можно ли как то расширить аудиторию пользователей, чтобы стяжать ещё большую славу :)? Ответ, конечно же, - да, можно. Иначе этой статьи  бы не было. Расскажу, как сделать и подключить файлы переводов ...

Читать
 

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

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



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