Thesis Admin Timing (Firing Order)

This page needs to be updated for Thesis 2.5.

The Thesis control module is the first item to run on any page load. On WordPress admin page requests, Thesis initiates the following items in the specified order:

  1. Function API (accessed via $thesis->api)
    • Form API
    • Schema API Controller
    • Color API (deprecated)
    • Fonts API Controller (deprecated)
    • Typography API (deprecated)
    • CSS API Controller (deprecated)
  2. Thesis WP Controller
    • Register native Thesis Widgets and Shortcodes
  3. Filesystem Controller and Update Tools
  4. Admin Controller
  5. Skins Controller
    • Determine active Skin
  6. Active Skin Controller
    • Retrieve Display Options
    • Skin Box Controller
    • Skin Template Controller
    • User-added Skin Packages Controller (deprecated)
    • Retrieve header image data (deprecated)
    • Run active Skin pseudo-constructor (construct() method)
  7. Active Skin’s custom.php file
  8. Thesis Master Control file, master.php
  9. WordPress init hook
    • WordPress widgets_init hook (priority 1)
      • Function API Boxes
      • WP-specific Boxes and post meta admin setup
      • Prepare legacy image support
      • Include user-added Boxes
        • Fetch updates for user-added Boxes
      • Create Skin Box instances
    • Default init timing (priority 10)
      • Write multi-site CSS file (if necessary)
      • Register stylesheets and JS for Thesis Admin pages
      • Skin API Components
        • Skin Color API
        • Skin CSS Tools API Controller
        • Skin Fonts API Controller
        • Skin Typography API Controller
        • Skin Google Fonts API Controller (if necessary)
        • Skin Header Image API Controller (if necessary)
        • Skin Logo API Controller (if necessary)
      • Skin Image Controller
      • Add save method for HTML Head Editor
      • Add save method for Skin Design and Display options, if necessary
      • Add save method for Skin Header Image, if necessary (deprecated)
      • Add items to the Thesis Skin menu
      • Add ajax save methods for Skin interface pages
    • init priority 11
      • Fonts API initialization (deprecated)
      • Launch controllers for any post meta added to WordPress by Thesis
      • Launch Skin Data Manager
      • Skin Fonts API initialization
    • init priority 12
      • Schema API initialization
      • CSS API initialization (deprecated)
      • Skin CSS Tools API initialization
      • Skin Typography API acquires current font list
    • init priority 13
      • Skin CSS Controller
    • init priority 15
      • Initialize Thesis Skin Editor (where appropriate)
      • Initialize Thesis Skin Editor Canvas (where appropriate)
  10. WordPress wp_loaded hook
    • Filesystem refreshes transients to ensure only applicable updates are detected
    • Thesis thesis_updates hook
      • Filesystem calls out for available updates
    • Admin retrieves available updates for Skins, Boxes, and the Thesis Core
    • Skins Controller retrieves Skin updates
    • User-added Boxes Controller retrieves Box updates
  11. WordPress admin_menu hook
    • Add Thesis items to the WordPress Dashboard Menu
    • Add any post meta created by Thesis to WordPress
  12. WordPress admin_init hook
    • Skins Controller adds CSS and JS to interface page (where appropriate)
    • Skins Controller adds directive to rewrite CSS (multi-site only)
    • Skin Controller adds CSS and JS to interface pages (where appropriate)
    • User-added Boxes Controller adds CSS and JS to interface pages (where appropriate)
  13. WordPress admin_head hook
  14. WordPress admin_footer hook