The easiest to use WordPress option framework.

Overview

alt text Titan Framework

WordPress WordPress plugin Build Status Slack

The easiest to use WordPress options framework.

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.

Get it in the WordPress plugin repo

Generate your own Underscores + Titan Framework based WordPress theme

Join the Community in Slack

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

Installing

  1. You can install the latest stable release from the wordpress.org plugin page straight from your WordPress plugin page;

  2. Or you can download the master.zip file then install it as a WordPress plugin;

  3. Alternatively, you can also install it via Composer into your wp-content/plugin folder:

curl -sS https://getcomposer.org/installer | php
php composer.phar create-project gambitph/titan-framework titan-framework

Developing

If you want to help with the development of Titan Framework, we have a Developing guide in the wiki

Creating a WordPress Theme?

Generate your own Underscores + Titan Framework based WordPress theme

Getting Started With Titan Framework

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.

Read our guide on how to get started with Titan Framework

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.

Donate

Help Spread the Word on Titan 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 in the WordPress plugin repo.

Are You Using Titan Framework in Your Project?

Let us know so we can showcase it in the site! Send me a tweet at @bfintal

Contributing, Pull Requests Are Very Welcome

Have an idea for a cool option, or do you have a bug fix you want to implement? Please don't hessitate to place a PR (Pull Request).

PRs on these are welcome:

  • Bug fixes
  • Cool new options
  • Cool new hooks
  • WordPress standardization
  • Code optimizations
  • Anything under the sun as long as it's helpful :)

Translations

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.

Current Translations

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

Important Links

Comments
  • how to change default icon of custom plugin?

    how to change default icon of custom plugin?

    Is there a way to make the icon personal? or can it be a new add-on to the framework? example image.... woocommerce has a "woo" logo next to there plugin, same with SEO also, and mine is a gear.

    thorbis admin panel thorbis website design wordpress

    question 
    opened by byronwade 26
  • getOption wont work

    getOption wont work

    Ive tried sevral times in meny places (page.php, single.php, header.php) but I just cant seem to get it to work heres the code ive used: This is in the: page.php

    getOption( 'my_text_option' ); ?>

    This is in the: functions.php $titan = TitanFramework::getInstance( 'my-theme' ); /** Creating an admin page tab **/ $panel = $titan->createAdminPanel( array('name' => 'Thorbis Admin Panel',) );

    /TABS/ $myTab = $panel->createTab( array('name' => 'General',) );

                    $myTab->createOption( array(
                        'name' => 'My Text Option',
                        'id' => 'my_text_option',
                        'type' => 'text',
                        'desc' => 'This is our option'
                    ) );
    
                    $myTab->createOption( array(
                        'name' => 'My Select Option',
                        'id' => 'my_select_option',
                        'type' => 'select',
                        'options' => array(
                            '1' => 'Option one',
                            '2' => 'Option two',
                            '3' => 'Option three',
                        ),
                        'desc' => 'This is a select drop down box',
                        'default' => '2',
                    ) );
    
                    $myTab->createOption( array(
                        'type' => 'save'
                    ) );
    

    I type "HI" in the 'my_select_option' field and nothing will show up on the other end.

    question 
    opened by byronwade 20
  • Question: reflect option values in customizer

    Question: reflect option values in customizer

    Since it's not possible to have the same ID in different options: How do I reflect e.g. a background-color setting in an admin page in a customizer option and vice versa? Wouldn't it be better to allow multiple ID's for indentical options?

    opened by violacase 17
  • Possible Bug: Adding many 'font' options delays preview refresh

    Possible Bug: Adding many 'font' options delays preview refresh

    I don't know if it's a bug within TF or not, but it's really annoying.

    I added 7 'font' options (6 of which are for h1 to h6). I also have 8 other 'font' options in other sections.

    I noticed before, that when I add a 'font' option, it adds a delay for reloading the preview after editing an option that doesn't have 'livepreview'. (not necessarily a font option) It's not because of low internet speed or server speed. The request to the server is made AFTER this delay. After I change an option, I also click on another option to trigger 'blur' and 'change' js events.

    Now that I added 7 'font' options all at once, I'm noticing a huge delay before reloading the preview iframe. With 8 'font' options it has about 8sec delay, and with 15 it has about 17sec delay.

    Any idea what's causing this? Anyone else having the same issue?

    bug 
    opened by ardalann 17
  • Gallery Field

    Gallery Field

    I wonder why is so hard to find a framework that include it by default. I have a lot of clients who I needed to add a Gallery custom post type to make it easy for them to add new albums, and I need a separate field just for the main gallery itself, because ask them to use 'add media -> create gallery' and also add the description together on the editor, confuses 99% of them :)

    It also can be useful if we want a scrolling gallery section on any place like the homepage for example :)

    May you guys consider this? Thanks :)

    enhancement 
    opened by RafaelOlivra 16
  • Bug: CSS generated by select-googlefont

    Bug: CSS generated by select-googlefont

    This is my customizer option definition:

    ->createOption( array(
        'name' => 'Header Font',
        'id' => 'header_font',
        'type' => 'select-googlefont',
        'default' => array(
            'name' => 'Exo',
            'variants' => array( '400', 'italic' ),
            'subsets' => array( 'latin-ext' )
        ),
        'css' => 'header { 
            font-family: value-name;
            font-weight: value-variant;
        }'
    ) );
    

    I saved the customizer without changing this font, and this was added to the CSS:

    font-family:Exo;
    font-weight:;
    

    Then I changed the font, and the generated CSS became:

    font-family:;
    font-weight:;
    

    Now even if I change it back to Exo, it still writes empty values to CSS file.

    opened by ardalann 14
  • Feature Request: Improved Font Family Picker (Google fonts AND Standard fonts)

    Feature Request: Improved Font Family Picker (Google fonts AND Standard fonts)

    NO one wants to FORCE users to use Google fonts. We just want to let them choose Google fonts, IF they want. Two groups of fonts could be in the font selector, 'Google Fonts' and 'Standard Fonts'. Ex.: http://grab.by/uyzA http://grab.by/uyzG

    enhancement 
    opened by ardalann 14
  • Need help with color picker after WP 4.9 update

    Need help with color picker after WP 4.9 update

    Hi folks WordPress 4.9 crush color options.

    upd problem solved if replace old version of wp-color-picker-alpha from TF to new version from

    https://github.com/kallookoo/wp-color-picker-alpha-plugin

    opened by goodwinpress 13
  • Possibility to use sanitization function in customizer

    Possibility to use sanitization function in customizer

    It's really important to have secure option framework, so i'm proposing this pull request as a security improvement. More info here: https://make.wordpress.org/themes/2015/06/02/a-guide-to-writing-secure-themes-part-3-sanitization/

    P.S. Other parts of series: https://make.wordpress.org/themes/2015/05/19/a-guide-to-writing-secure-themes-part-1-introduction/ https://make.wordpress.org/themes/2015/05/26/a-guide-to-writing-secure-themes-part-2-validation/ https://make.wordpress.org/themes/2015/06/09/a-guide-to-writing-secure-themes-part-4-securing-post-meta/

    opened by limestreet 13
  • Titan Framework Error when used within plugin class

    Titan Framework Error when used within plugin class

    I'm getting these errors:

    Titan Framework Error: Wrong usage of setOption, this should be called inside a hook or from within a theme file.
    Titan Framework Error: Wrong usage of setOption, this should be called inside a hook or from within a theme file.
    Titan Framework Error: Wrong usage of getOption, this should be called inside a hook or from within a theme file.
    Titan Framework Error: Wrong usage of getOption, this should be called inside a hook or from within a theme file.
    

    When using this code:

    <?php
    /*
    Plugin Name: Better Font Awesome
    Plugin URI: http://wordpress.org/plugins/better-font-awesome
    Description: The better Font Awesome for WordPress. 
    Version: 0.9
    Author: Mickey Kay
    Author Email: [email protected]
    License:
    
      Copyright 2011 Mickey Kay ([email protected])
    
      This program is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License, version 2, as 
      published by the Free Software Foundation.
    
      This program is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      GNU General Public License for more details.
    
      You should have received a copy of the GNU General Public License
      along with this program; if not, write to the Free Software
      Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
    
    */
    
    /*--------------------------------------------*
     * Titan Framework
     *--------------------------------------------*/
    
    // Don't do anything when we're activating a plugin to prevent errors
    // on redeclaring Titan classes
    if ( ! empty( $_GET['action'] ) && ! empty( $_GET['plugin'] ) ) {
        if ( $_GET['action'] == 'activate' ) {
            return;
        }
    }
    
    // Use the embedded Titan Framework
    if ( ! class_exists( 'TitanFramework' ) ) {
        require_once( plugin_dir_path( __FILE__ ) . 'titan-framework/titan-framework.php' );
    }
    
    class BetterFontAwesome {
    
        /*--------------------------------------------*
         * Constants
         *--------------------------------------------*/
        const name = 'Better Font Awesome';
        const slug = 'better-font-awesome';
    
        /*--------------------------------------------*
         * Private variables
         *--------------------------------------------*/
        private $cdn_data;
    
        /**
         * Constructor
         */
        function __construct() {
            //register an activation hook for the plugin
            register_activation_hook( __FILE__, array( &$this, 'install' ) );
    
            //Hook up to the init action
            add_action( 'init', array( &$this, 'init' ) );
        }
    
        /**
         * Runs when the plugin is activated
         */  
        function install() {
            // do not generate any output here
        }
    
        /**
         * Runs when the plugin is initialized
         */
        function init() {
            // Setup localization
            load_plugin_textdomain( self::slug, false, dirname( plugin_basename( __FILE__ ) ) . '/lang' );
            // Load JavaScript and stylesheets
            $this->register_scripts_and_styles();
    
            // Register the shortcode [icon]
            add_shortcode( 'icon', array( &$this, 'render_shortcode' ) );
    
            // Get CDN data
            $this->setup_cdn_data();
    
            // Do options page
            $this->do_options_page();
        }
    
        function action_callback_method_name() {
            // TODO define your action method here
        }
    
        function filter_callback_method_name() {
            // TODO define your filter method here
        }
    
        function render_shortcode( $atts ) {
            extract(shortcode_atts(array(
                'name' => '',
                'classes' => ''
                ), $atts)
            );
    
            return '<i class="fa fa-' . sanitize_html_class( $name ) . ' ' . sanitize_html_class( $classes ) . '"></i>';
        }
    
        /**
         * Registers and enqueues stylesheets for the administration panel and the
         * public facing site.
         */
        private function setup_cdn_data() {
            $this->cdn_data = json_decode( $this->get_data( 'http://api.jsdelivr.com/v1/bootstrap/libraries/font-awesome/' ) )[0];
    
        } // end setup_cdn_data
    
        private function do_options_page() {
            $titan = TitanFramework::getInstance( 'better-font-awesome' );
    
            foreach( $this->cdn_data->versions as $version ) {
                $verions[$version] = $version;
            }
    
            $optionsPage = $titan->createAdminPanel( array(
                'name' => __( 'Better Font Awesome', 'better-font-awesome'),
                'parent' => 'options-general.php',
            ) );
    
            $optionsPage->createOption( array(
                'name' => __( 'Version', 'better-font-awesome' ),
                'id' => 'version',
                'type' => 'select',
                'desc' => __( 'Select the version of Font Awesome you would like to use. Please note that different versions use different icon names, and switching versions. . .', 'better-font-awesome') ,
                'options' => $this->cdn_data->versions,
            ) );
    
            $optionsPage->createOption( array(
                'name' => __( 'Minified', 'better-font-awesome' ),
                'id' => 'minified',
                'type' => 'checkbox',
                'desc' => 'Whether to include the minified version of the CSS (checked), or the unminified version (unchecked).',
                'default' => false,
            ) );
    
            $optionsPage->createOption( array(
                'type' => 'save',
            ) );
        }
    
        /**
         * Registers and enqueues stylesheets for the administration panel and the
         * public facing site.
         */
        private function register_scripts_and_styles() {
            $titan = TitanFramework::getInstance( 'better-font-awesome' );
    
            $version = $titan->getOption( 'version' );
            $minified = $titan->getOption( 'minified' );
    
            $stylesheet = $minified ? '/css/font-awesome.min.css' : '/css/font-awesome.css';
    
            // Enqueue Font Awesome CSS
            wp_register_style( 'font-awesome', '//netdna.bootstrapcdn.com/font-awesome/' . $version . $stylesheet );
            wp_enqueue_style( 'font-awesome' );
    
        } // end register_scripts_and_styles
    
        /**
         * Helper function for registering and enqueueing scripts and styles.
         *
         * @name    The     ID to register with WordPress
         * @file_path       The path to the actual file
         * @is_script       Optional argument for if the incoming file_path is a JavaScript source file.
         */
        private function load_file( $name, $file_path, $is_script = false ) {
    
            $url = plugins_url($file_path, __FILE__);
            $file = plugin_dir_path(__FILE__) . $file_path;
    
            if( file_exists( $file ) ) {
                if( $is_script ) {
                    wp_register_script( $name, $url, array('jquery') ); //depends on jquery
                    wp_enqueue_script( $name );
                } else {
                    wp_register_style( $name, $url );
                    wp_enqueue_style( $name );
                } // end if
            } // end if
    
        } // end load_file
    
        /**
         * Get contents of URL
         *
         * @param   string $url URL to get content
         * @return  mixed Contents of URL
         */
        private function get_data( $url ) {
            $ch = curl_init();
            $timeout = 5;
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
            $data = curl_exec($ch);
            curl_close($ch);
            return $data;
        }
    
    } // end class
    new BetterFontAwesome();
    
    ?>
    

    Any ideas what I'm doing wrong?

    bug 
    opened by MickeyKay 12
  • Possible to get image upload dimensions?

    Possible to get image upload dimensions?

    Hi there,

    Is there any native Titan method to get/output the dimensions of an image upload option? I'm thinking this would be really handy for the quick CSS generation method that's available, with sizing a logo area based on the logo's size, for example.

    Thanks!

    enhancement 
    opened by MickeyKay 11
  • Bump decode-uri-component from 0.2.0 to 0.2.2

    Bump decode-uri-component from 0.2.0 to 0.2.2

    Bumps decode-uri-component from 0.2.0 to 0.2.2.

    Release notes

    Sourced from decode-uri-component's releases.

    v0.2.2

    • Prevent overwriting previously decoded tokens 980e0bf

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.1...v0.2.2

    v0.2.1

    • Switch to GitHub workflows 76abc93
    • Fix issue where decode throws - fixes #6 746ca5d
    • Update license (#1) 486d7e2
    • Tidelift tasks a650457
    • Meta tweaks 66e1c28

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.1

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 0
  • Fix: unserialize() expects parameter 1 to be string, array given

    Fix: unserialize() expects parameter 1 to be string, array given

    Hi there,

    This is a small patch related to unserialize functions.

    Warning: unserialize() expects parameter 1 to be string, array given in /home/testwp/assets/plugins/divi-machine/titan-framework/lib/class-titan-framework.php on line 259

    Thanks.

    opened by nawawi 0
  • wpColorPickerL10n not defined in WP 5.5

    wpColorPickerL10n not defined in WP 5.5

    wpColorPickerL10n is deprecated in WP 5.5 (erk!) and Titan throws undefined variable in js\wp-color-picker-alpha.js

    Workaround (via previous /wp-includes/script-loader.php):

    add_action( 'wp_print_scripts', 'titan_color_picker_translation_fix', 11 );
    function titan_color_picker_translation_fix() {
    	$wp_scripts = wp_scripts();
    	$wp_scripts->localize( 'wp-color-picker', 'wpColorPickerL10n', array(
    		'clear'            => __( 'Clear' ),
    		'clearAriaLabel'   => __( 'Clear color' ),
    		'defaultString'    => __( 'Default' ),
    		'defaultAriaLabel' => __( 'Select default color' ),
    		'pick'             => __( 'Select Color' ),
    		'defaultLabel'     => __( 'Color value' ),
    	) );
    }
    
    opened by majick777 0
  • Documentation site is down, Siteground changed IP address

    Documentation site is down, Siteground changed IP address

    The documentation site must be hosted on Siteground. Recently, Siteground moved their servers into Google Cloud and had to update all IP addresses. That hasn't been done on the documentation site, so it's down.

    DNS needs to be updated with the new IP address, it's about a three minute task.

    opened by TreyOverton 0
  • PHP 7.4 issue

    PHP 7.4 issue

    Hello, there is an issue with TF at php 7.4

    Trying to access array offset on value of type null in... titan-framework/lib/class-admin-page.php on line 78

    So it's

    $settings['parent'] = $this->settings['id'];

    at function

    public function createAdminPanel( $settings ) { $settings['parent'] = $this->settings['id']; return $this->owner->createAdminPanel( $settings ); }

    May be Mr. Intal or Mr. Healey could help with it? Thank you!

    opened by goodwinpress 1
Releases(1.12.1)
  • 1.12.1(Jul 4, 2018)

  • 1.12(Jun 19, 2018)

    • New: Added page_template parameter for meta boxes.
    • Fixed: Error with the color picker option (and options that use the color picker) in WP 4.9
    • Fixed: PHP warning when reseting font options
    Source code(tar.gz)
    Source code(zip)
  • 1.9.2(Oct 6, 2015)

    • 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
    Source code(tar.gz)
    Source code(zip)
  • 1.9.1(Sep 26, 2015)

  • 1.9(Sep 24, 2015)

    • 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
    Source code(tar.gz)
    Source code(zip)
  • 1.8.1(Sep 1, 2015)

    • 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 bd236235d36dc971b385f56b4d685b5400ce4840
    Source code(tar.gz)
    Source code(zip)
  • 1.8rc2(Aug 28, 2015)

  • 1.8rc1(Aug 27, 2015)

    • 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
    • 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
    Source code(tar.gz)
    Source code(zip)
  • v1.7.4(Jan 17, 2015)

    • 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
    Source code(tar.gz)
    Source code(zip)
  • v1.7.3(Dec 22, 2014)

  • v1.7.2(Dec 18, 2014)

    • 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)
    Source code(tar.gz)
    Source code(zip)
  • v1.7.1(Dec 11, 2014)

    • Bug fixes for the Easy Digital Download License option
    • Enhanced date option parameters
    • New parameters for Theme Customizer for creating panels
    Source code(tar.gz)
    Source code(zip)
  • v1.7(Dec 11, 2014)

    • 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
    Source code(tar.gz)
    Source code(zip)
  • v1.6.1(Oct 10, 2014)

  • v1.6(Sep 29, 2014)

    • 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
    Source code(tar.gz)
    Source code(zip)
  • v1.5.2(Jul 30, 2014)

  • v1.5(Jul 29, 2014)

    • 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
    Source code(tar.gz)
    Source code(zip)
  • v1.4.2(Mar 13, 2014)

  • v1.4.1(Mar 13, 2014)

    • 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
    Source code(tar.gz)
    Source code(zip)
  • v1.4(Mar 7, 2014)

  • v1.3(Mar 4, 2014)

    • 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
    Source code(tar.gz)
    Source code(zip)
  • v1.2.1(Feb 26, 2014)

    • 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
    Source code(tar.gz)
    Source code(zip)
  • v1.1.1(Feb 23, 2014)

    • 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
    Source code(tar.gz)
    Source code(zip)
  • v1.1(Feb 20, 2014)

    • 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
    Source code(tar.gz)
    Source code(zip)
  • v1.0.2(Feb 19, 2014)

  • v1.0.1(Feb 19, 2014)

Owner
Gambit Technologies
Gambit Technologies
The easiest way to develop and release Gutenberg blocks (components) for WordPress

Contents Install Comparison with competition Future Plans Usage Creating a Block Install npm install gutenblock -g This is a Gutenberg plugin creator

Zach Silveira 239 Nov 11, 2022
Laravel Blog Package. Easiest way to add a blog to your Laravel website. A package which adds wordpress functionality to your website and is compatible with laravel 8.

Laravel Blog Have you worked with Wordpress? Developers call this package wordpress-like laravel blog. Contact us for any customization: contact@binsh

Binshops 279 Dec 28, 2022
A plugin to disable the drop cap option in Gutenberg editor paragraph block. This is version 2.

Disable Drop Cap (v2) A plugin to disable drop cap option in the Gutenberg editor block editor paragraph block. Note for WordPress 5.8 With WordPress

Johannes Siipola 4 Jan 4, 2022
WordPress plugin that lets you use Discourse as the community engine for a WordPress blog

WP Discourse Note: the wp-discourse plugin requires >= PHP-5.4.0. The WP Discourse plugin acts as an interface between your WordPress site and your Di

Discourse 497 Dec 10, 2022
A curated list of Awesome WordPress Theme, Plugins and Framework development Resources and WordPress Communities.

Awesome WordPress A curated list of Awesome WordPress Theme, Plugins and Framework development Resources and WordPress Communities. Inspired by bayand

Dropndot Limited 91 Dec 26, 2022
Automattic 10.7k Jan 2, 2023
A library to allow the use of PHP attributes for WordPress hooks

WordPress Hook Attributes This library should be considered experimental and not production ready. Installation composer require boxuk/wp-hook-attribu

Box UK 9 Nov 23, 2022
WordPress plugin people can use to embed to their website: a Mintbase NEAR NFT and Mintbase NEAR store

mintbase-embed WordPress plugin people can use to embed to their website: a Mintbase NEAR NFT and Mintbase NEAR store This is demo plugin that allows

null 3 Oct 1, 2021
Use WordPress backend with Laravel or any PHP application

A collection of Model classes that allows you to get data directly from a WordPress database. Corcel is a collection of PHP classes built on top of El

Corcel PHP 3.9k Dec 29, 2022
Use WordPress backend with Laravel or any PHP application

A collection of Model classes that allows you to get data directly from a WordPress database. Corcel is a collection of PHP classes built on top of El

Corcel PHP 3.9k Jan 7, 2023
This is code to create a new user as admin use for Wordpress FrontEnd Developer to prevent any scaming from clients

theme-setup This is code to create a new user as admin use for Wordpress FrontEnd Developer to prevent any scaming from clients How to use Just copy c

Abdul Razzaq 1 Nov 27, 2021
Beauty and simple Wordpress video player plugin. Powerfull and lite in use.

Sonic Spectre Video Player Beauty and simple Wordpress video player plugin. Powerfull and lite in use. Quick Start: Download plugin from this repo and

Halcyon 1 Jan 4, 2022
A WordPress plugin to re-use the same domain name for both your website and your Rebrandly links

By installing this plugin and configuring it to connect with your Rebrandly account, you will be able to create branded links using the same domain yo

null 3 Jan 19, 2022
A custom WordPress nav walker class to fully implement the Twitter Bootstrap 4.0+ navigation style (v3-branch available for Bootstrap 3) in a custom theme using the WordPress built in menu manager.

WP Bootstrap Navwalker This code in the main repo branch is undergoing a big shakeup to bring it in line with recent standards and to merge and test t

WP Bootstrap 3.3k Jan 5, 2023
The Pronamic WordPress Basecone plugin allows you to connect your WordPress installation to Basecone.

Pronamic WordPress Basecone The Pronamic WordPress Basecone plugin allows you to connect your WordPress installation to Basecone. Table of contents Au

Pronamic 1 Oct 19, 2021
A WordPress plugin to suspend WordPress sites automagically. Simple and lightweight, no annoying ads and fancy settings.

Suspend WP A WordPress plugin to suspend WordPress sites automagically. Simple and lightweight, no annoying ads and fancy settings. ?? Demo (coming so

Waren Gonzaga 3 Nov 15, 2021
Twenty Twenty-Two, the default WordPress theme that will launch with WordPress 5.9.

Twenty Twenty-Two Welcome to the development repository for the default theme that will launch with WordPress 5.9. About Twenty Twenty-Two is designed

null 414 Nov 28, 2022
Easy handle APlayer on WordPress. A shortcode for WordPress to using APlayer.

Description Easy handle APlayer on WordPress. A shortcode for WordPress to using APlayer. Support [audio] tag, compatible with AMP. Requirement WordPr

Karl Chen 24 Nov 3, 2022
WordPress & TypeScript. Simple starter template for WordPress projects

WordPress & TypeScript. Simple starter template for WordPress projects that want to use TypeScript in combination with @wordpress/scripts

Make it WorkPress 11 Sep 27, 2022