Фреймворк Titan Framework – новый фреймворк опций для WordPress, который на этой неделе был представлен на WordPress.org. Данный набор инструментов был создан для того, чтобы упростить разработчикам тем и плагинов WordPress процесс добавления опций к своим проектам. Этот первый релиз содержит в себе более 20 опций, включая мета-поля, селектор выбора Google-шрифтов, загрузчик медиа, выбор нескольких рубрик и таксономий, опции кастомайзера тем и т.д.
Titan планирует стать одним их самых простых фреймворков опций. С помощью нескольких строк кода вы можете быстро добавить опции, которые будут понятным клиентам. Скажем, чтобы получить экземпляр Titan Framework для вашего плагина, достаточно будет добавить всего одну строку в основной файл плагина:
$titan = TitanFramework::getInstance( 'my-plugin' );
Задание страницы в панели администратора, а также меню для ваших опций – такие же простые шаги, которые реализуются с помощью пары строк кода:
$panel = $titan->createAdminPanel( array( name => 'Theme Options', ) );
Благодаря мощным механизмам фреймворка Titan, связанным с добавлением опций, вы сможете сохранить код чистым.
Titan Framework создан для эффективной работы
Я решил обратиться к Бенджамину Интелу, создателю Titan Framework, чтобы понять, почему он решил выпустить еще один фреймворк для создания опций, когда уже есть масса таких решений. Интел ответил, что Titan появился в результате небольшой «уборки», которую он решил провести со своими темами.
«Начал создавать WordPress темы я 4 года назад. С ростом моих проектов мне стало гораздо сложнее управлять их кодом», говорит Бенджамин. «Инстинктивно я старался сгруппировать похожий код, чтобы улучшить процесс управления темами. После месяцев работы я построил мощный фреймворк, который позволял обрабатывать все то, что требовалось темам».
Начиная с этого момента, следуя практикам разработки WordPress, Бенджамин активно развивал свой фреймворк. Интел начал удалять основную функциональность, вынося ее в плагины:
«Я размышлял так, что каждая функция должна быть включена в тему. Когда я более детально изучил WordPress, я понял, что я поступал совершенно неправильно. Поэтому теперь я разбиваю свои темы и превращаю их функционал в плагины. Один из таких плагинов — Titan Framework»
Генеральная уборка Интела привела к появлению мощного набора опций, которые позволяют заметно ускорить процесс разработки. Он регулярно применяет свой фреймворк в клиентских проектах. В одном из примеров ему нужно было вывести информацию о различных локациях на карте, поэтому он создал произвольный тип записей для локаций и использовал Titan, чтобы реализовать опции для ввода дополнительной информации через произвольные поля — широту, долготу и иные координаты локации.
Несмотря на то что Интел создавал фреймворк с целью облегчения своей собственной работы, это решение может эффективно использовать сегодня любой человек. «Titan Framework сфокусирован на простоте использования», отметил Интел. «Благодаря ему мне не надо постоянно удерживать в памяти какие-то детали, а также не нужно писать тонны кода».
Одной из целей создания Titan Framework выступало желание обеспечить стандартизированный способ добавления опций, чтобы разработчики могли легко выполнять общие задачи. Бенджамин описал проблему, которую он пытался решить, а также то, как именно Titan может облегчить ваш поток операций:
«В WordPress опции администратора, произвольные поля и средства управления кастомайзера отличаются друг от друга. Они задаются разным образом, и получение сохраненных данных для каждого типа осуществляется различно. Titan Framework стандартизирует их всех, поэтому вы не должны задумываться о том, с чем именно вы работаете – с опциями администратора, произвольным полем или средствами управления кастомайзера. Все это – обычные опции. В результате такого подхода вы можете получать их значения путем применения одного простого метода: getOption»
Как добавить Titan Framework в свой проект
На данный момент, если вы хотите использовать Titan в своих проектах, то вам нужно активировать плагин вместе со своей темой и плагином. В итоге вы сможете вызывать функции фреймворка внутри проекта. С помощью документации, расположенной на официальной странице фреймворка, вы можете проверить, был ли Titan активирован должным образом.
«В идеале Titan всегда должен быть плагином, отделенным от вашей темы или плагина, чтобы он мог обновляться для исправления ошибок или добавления новых возможностей», отметил Интел. Однако он понимает, что некоторым разработчикам может понадобиться связать фреймворк со своими проектами. Интел планирует выпустить обновление, которое сделает такой подход возможным.
Будущие обновления Titan Framework
Интел планирует расширить количество опций в фреймворке, который на данный момент включает в себя лишь самые основы. Он хочет добавить селектор палитры, селектор области виджетов, а также селектор меню.
Также он планирует включить функциональность для простого создания и выбора областей виджетов, ввести новые функции для создания шорткодов.
Интел отметил, что его улучшения фреймворка ни в коем случае не продиктованы желанием исправить те недостатки, которые он заметил в других фреймворках. «Когда я только создавал Titan Framework, я не рассматривал другие существующие фреймворки, поскольку у меня уже было практически все, что мне требовалось для успешного завершения работы», сказал Интел. «Процесс изучения остальных фреймворков я начал совсем недавно – и отмечу, что есть масса прекрасных решений, таких как Redux и OptionTree».
Естественно, если вы хотите изучить, как написать опции плагина или темы с нуля, то использование фреймворка опций – не самый лучший шаг для вас. Идея, которая лежит в основе применения фреймворка, заключается в экономии времени при разработке и акценте на создании своего проекта. Если вам нужно добавить парочку опций, то вам не стоит заново изобретать колесо. Titan помогает вам избежать написания кода с нуля. Чтобы получить дополнительную информацию по данному фреймворку, вы можете посетить главную страницу Titan Framework, а также воспользоваться существующей документацией.
спасибо )) очень полезная статья ))
что то как то с локализацией с ходу не пойму
сыроват,(я говорю про тот плагин что в репозитории wp не на гитхабе ) из минусов, вместо того что бы отдать мне id вложения он зачем то возвращает url что вообще неудобно, потом если я создаю секцию опций то сразу создает , точнее пытается создать файл под css и даже если он не создался сразу же его подключает (в документации надо сказать это мельком описанно), и это даже при том что этот файл создается даже если вы не пытаетесь использовать опции хоть как то связанные с css, вопрос зачем допустим я создал с этим фреймворком несколько секций в разный плагинах , допустим штук 5 , в итоге имеем 5 пустых файликов css которые подключатся в wp_head я чего то опять не понял либо или создатели не особо думали о лишних запросах к серверу то можно было хотя бы в один файл все это засунуть, понятно что есть способы все это дело поклеить, но неприятное ощущение осталось.
да уж очень сыроват, особенно меня поразило то, что функция выбора кастомного поста есть, а реализации нет) может быть там нужно средствами самого ВП делать — но документации собсно 0
Вообще ничего не понял :(
Имею опыт работы с данным фреймворком, довольно гибкий