Titan Framework

Description

Titan Framework allows theme and plugin developers to create admin pages, options, meta boxes, and theme customizer options with just a few simple lines of code.

This means faster theme & plugin creation for everyone.

What is Titan Framework and how does it work?

The Goal

Titan Framework aims to be easily used by everyone. The goal is to make it plug and play – just activate the plugin and start creating your options.

How to start developing with Titan Framework

Start Creating Your Theme

You can generate your own Underscores based theme with Titan Framework through our site

The generated theme comes with sample pre-created options in the admin and theme customizer along with code documentation.

Features

  • Makes development unbelievably easy
  • Built with optimization in mind
  • Does NOT clutter the database
  • Integrates with your project seamlessly
  • Theme customizer live preview integration
  • Supports child themes
  • Automatic CSS generation with SCSS support
  • Full font style fields
  • Easy Digital Download activation integration

Easy creation of:

  • Admin menus and submenus
  • Admin pages
  • Admin options and tabs
  • Meta boxes and options
  • Theme customizer sections and options

Options available in admin pages, meta boxes and theme customizer:

  • Ajax button
  • Checkbox
  • Code (using Ace)
  • Color picker
  • Custom
  • Date
  • EDD License (Easy Digital Downloads license)
  • Editor (WYSIWYG)
  • Enable
  • File upload
  • Font Style (Web safe fonts and Google WebFonts)
  • Gallery
  • Group
  • Heading
  • Iframe
  • Media uploader
  • Multicheck
  • Multicheck categories and taxonomies
  • Multicheck pages and posts
  • Multicheck post types
  • Note
  • Number
  • Radio buttons
  • Radio palette picker
  • Radio image
  • Save and reset buttons
  • Select (drop down)
  • Select Google WebFont
  • Select categories and taxonomies
  • Select pages and posts
  • Select post types
  • Sortable
  • Text
  • Textarea

Supporting the Framework

Titan is super new, so far the framework has been getting good feedback from the community. Help out and spread the word by starring this repo, sending tweets, writing blog posts about what you think about Titan, and review the plugin.

Help Translate

We want Titan Framework to be used by everyone, and since not everyone speaks or reads english, we would appreciate it if you can help translate the framework to your language.

Currently translated to

  • French (thanks @PunKeel)
  • German (thanks @jascha)
  • Italian (thanks @DavideVogliotti & Giuseppe Pignataro)
  • Portuguese (thanks @pagelab)
  • Spanish (thanks @maperezotero)
  • Turkish (thanks @gurkankara)

Donate to the Development

If Titan Framework has helped you in any way, we would appreciate any amount of donations that you give us. Donations would mean more development time for the framework as I am continuously developing it during my free time.

Special Thanks to all the Contributors

@ahansson89, @ahmadawais, @ardallan, @BrazenlyGeek, @csloisel, @DavideVogliotti, @davidossahdez, @desaiuditd, @dovy, @fabiorphp, @iografica, @jaeh, @kevinlangleyjr, @manishsongirkar, @mendezcode, @MickeyKay, @nemke, @sagarjadhav, @smccafferty, @tojibon

and to everyone else in the GitHub repo!

Screenshots

  • An admin page with tabs and options created using Titan Framework
  • Supports theme customizer sections, options and live previewing
  • Meta box support for pages, posts and custom post types
  • Sample code on how to create admin pages and options

Installation

  1. Upload plugin-name.php to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Use the provided classes and functions in your theme or plugin. Read our guide on how to Get Started with Titan Framework

Reviews

Its just awesome

It is one of the best option framework I’ve ever used. Simply too good. Thanks to all the contributors of this great plugin.

Break my site but I found the solution.

Break my site but I found the solution. I noticed that the problem is caused by the …\ titan-framework.1.11 \ titan-framework \ js \ ace-min-noconflict \ mode-text.js file . You have to switch to FTP mode and make sure that all the files have been fully added. Then it works perfectly. Insist with the FTP, in manual. 😉

Read all 24 reviews

Contributors & Developers

“Titan Framework” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.11

  • New: Added custom font in Theme Customizer
  • New: Added File Upload option
  • New: Added select_all in multicheck option
  • New: Added em in font size
  • New: Sample Content Extension support
  • Enhanced: Tabs color is changed, and the gap between tabs and panel is removed
  • Enhanced: Allow svg file in upload option
  • Fixed: Gallery option

1.10

  • New: Added new options multicheck-post-types and select-post-types
  • New: Added Group option
  • New: Added include_fonts in Theme Customizer.
  • Enhanced: Generated inline CSS now has an ID attribute.
  • Enhanced: Easy Digital Downloads product checking revised.
  • Enhanced: Timepicker styles.
  • Enhanced: EDD option.
  • Change: Footer Text should be returned not echoed.
  • Change: class_exists to function_exists of googlefonts function.
  • Fixed: Input tag.

1.9.3

  • New: Transport parameter for overriding the Customizer transport parameter
  • New: Added enqueue parameter for the code option
  • New: Added size parameter to the Text option
  • Change: Removed title parameter in admin tabs
  • Fixed: Fixed bug where a blank panel was being created
  • Fixed: Removed seconds, and other more precise controls in the date option.

1.9.2

  • New: tf_css_get_css_file_path_{$namespace} filter
  • Enhanced: Heading options in Customizer now look great
  • Enhanced: The css parameter now performs live preview changes instead of reloading the page
  • Enhanced: Added inherit values for some styles in the font option
  • Enhanced: Changed some default style values in the font option to inherit
  • Fixed: Options with a value of zero do not generate CSS properly (they wrongly reset to their default value before)
  • Fixed: getOptions function turned non-existent keys to false
  • Fixed: Existing panel names (not panel IDs) across different namespaces that match get shown in the wrong section
  • Fixed: Removed remnance of a checkbox in the enable option while in the Customizer in Firefox

1.9.1

  • Fixed: in some setups, saving options in a tab resets other tabs

1.9

  • Major performance and speed optimizations, now is less process & memory intensive
  • New iframe option
  • New custom option
  • New multiple attribute in select options for selecting multiple values
  • New desc attribute in heading options for displaying short descriptions
  • New alpha attribute in color options for picking rgba colors
  • New editor_options attribute in editor options for specifying editor settings
  • New tf_admin_tab_created_{namespace} action
  • New $titan->getOptions() function for getting multiple options at once
  • Updated Google Font list
  • Heading options now generate an id attribute
  • Now using Gulp for development and building
  • Started using WordPress PHP Coding Standards
  • Started unit testing. Coverage currently at 8%
  • Removed initializing state which could cause duplication problems
  • Bumped minimum version to 4.1
  • Simplified Titan Framework checker code
  • Fixed: notice for newly added options
  • Fixed: upload option now uses attachment url in livePreview attribute
  • Fixed: meta boxes now save properly for attachment post_types
  • Fixed: font text-shadows
  • Fixed: meta box css & js code from showing up in non-singular pages
  • Fixed: stray border in enable options in the customizer
  • Fixed: upload images misalign after saving in the customizer
  • Removed: references to old select-google-font option

1.8.1

  • Duplicated CSS rules #271
  • Generated css contains duplicated declarations #232
  • Add support for checking item ID #267
  • Removed missing gallery since we still need to work on it bd23623

1.8

  • New option: ajax-button
  • Added new hooks:
    • tf_done
    • tf_pre_save_admin_{namespace}
    • tf_save_admin_{namespace}
    • tf_pre_reset_admin_{namespace}
    • tf_reset_admin_{namespace}
  • Added desc option for headers
  • Removed unused tracking code
  • Tweaked customizer font css
  • Updated SCSSPHP to v0.0.15
  • Added label for blank page/post titles for page/post options
  • Updated & namespaced SCSSPHP
  • Saving ‘0’ values now work (e.g. in select options)
  • Additional check to prevent scss compile of empty string
  • Fixed bug where sometimes options without IDs (e.g. note) produce errors in the Customizer
  • Fixed possible JS running in iframe-font-preview + empty checks for CWE-200
  • getOption no longer throws a “called too early” warning and can now be called anywhere
  • #240 Update class-option-font.php
  • #235 Update class-option-checkbox.php
  • #262 Namespace invisible class
  • #264 Switch to strpos instead of preg_match
  • #253 Remove timepicker from requirements

1.7.6

  • The Note option can now be placed in the Customizer
  • Prefixing a select value with ! now displays the drop down value as disabled
  • Added new argument panel_desc for panel descriptions
  • Updated & namespaced EDD updater files
  • Fixed bug where options with the value 0 were not properly returned
  • Fixed bug where double descriptions showed up in the Customizer
  • Minor XSS security fixes, shouldn’t be affected really, but it’s better to be safe

1.7.5

  • Added hidden parameter for all options
  • Fixed 4.1 display issues with the upload option
  • Fixed an undefined notice that sometimes appears

1.7.4

  • Faster SCSS parsing
  • Faster loading time
  • Unit parameter for number options now supported in the Theme Customizer
  • Better font color option handling in Theme Customizer
  • Now prevents SCSS errors from showing up
  • Fixed name label issues with the enable option
  • Better plugin checking method
  • Plugin checker now integrates with TGM Plugin Activation
  • Updated Ace

1.7.3

  • Fixed bug introduced in 1.7.2 where admin options sometimes were not being saved

1.7.2

  • EDD option can now check for updates all by itself (thank you julien731)
  • get_post_types function now callable from tf_create_options
  • Now passes theme-check (ignored add_menu_page error)

1.7.1

  • Bug fixes for the Easy Digital Download License option
  • Enhanced date option parameters
  • New parameters for Theme Customizer for creating panels

1.7

  • New Easy Digital Download License option (thank you julien731)
  • New date option (thank you ardalann)
  • Added new action tf_save_options_{namespace} which is called after saving options
  • Fixed display issue with the font option in the theme customizer
  • Fixed bug where empty multicheck returned an array
  • Fix: customizer show_font_size & show_color

1.6.1

  • Added missing files in the SVN

1.6

  • New embed method (check the getting started section)
  • New tf_create_options hook for creating options
  • New number unit parameter
  • Removed font awesome, now uses dashicons
  • Added desc params to panels, tabs and meta boxes
  • Added size attribute for the upload option
  • Deleted Uncommon Ace Extensions
  • Improve load script to meta boxes
  • Lots of bug fixes

1.5

  • Added German, Portuguese, Turkish and updated Italian translations
  • Added notification and paragraph paramaters to the note option
  • Added include_fonts parameter to the font option for specifying the selectable fonts
  • Added show_websafe_fonts and show_google_fonts parameters to the font option
  • Added maxlength parameter to the the text option
  • Fixed Titan plugin detection code
  • New more WordPress-centric styling of admin panels (special thanks to @sagarjadhav)
  • A Lot of stabilization bug fixes

1.4.3

  • Added a few global hooks
  • Fixed missing hooks that prevented the Shortcode Extension from working
  • Fixed missing HTML tags

1.4.2

  • Fixed a typo

1.4.1

  • Added some new hooks
  • Added namespaces to all hooks
  • Added meta links
  • Fixed bug where font drop downs closed immediately in Firefox
  • Fixed bug where getInstance did not return the same instance sometimes
  • Fixed bug where the font option did not generate CSS correctly
  • Fixed bug where only one Titan instance generated CSS files
  • Fixed bug where CSS were being generated multiple times
  • Fixed bug where option IDs in different instances caused an error
  • Fixed bug where the live preview lagged a lot

1.4

  • Added new Font option
  • Added new Sortable option
  • Fixed bug where generated CSS values aren’t showing up (thanks @ardalann)

1.3

  • Added Spanish translations (thanks @maperezotero)
  • Added Code option that uses Ace
  • No need to use the post ID when getting getOption
  • createMetaBox can now accept an array in the post_type parameter
  • Now using Travis CI
  • Tons of bug fixes

1.2.1

  • Added French translations (thanks @PunKeel)
  • Added removeOption function
  • Fixed bug where fonts sometimes cannot be changed
  • Fixed fatal error encountered sometimes when generating CSS
  • Fixed bug where other post types are unable to be saved

1.2

  • Better embedding handling
  • Automatic CSS generation

1.1.1

  • Titan can now be embedded into themes and plugins
  • Added Radio Image option
  • Better layout for Google WebFont option
  • Now enforcing unique option ids
  • Fixed bug that shows up in fresh WP installs

1.1

  • Added WYSIWYG editor option
  • Added Radio Palette option
  • Fixed bug where special characters in admin pages and tabs were not redirecting correctly
  • Fixed minor bug where customizer options become reordered
  • Minor bug fixes

1.0.1 – 1.0.2

  • Added styling to the admin options
  • Fixed minor debug error in options (Thanks to @Dovy)

1.0

First release