class-deodar-customization.php
File: lib/models/class-deodar-customization.php
Package: Deodar
Since: 2.0.0
Author: Brock Cataldi
Overview
The Deodar_Customization class is an abstract base class for creating WordPress customizer functionality. It provides a foundation for extending WordPress's customizer with custom options and controls.
Class Declaration
abstract class Deodar_Customization
Methods
Constructor
__construct()
public function __construct()
Since: 2.0.0
Returns: void
Empty constructor that can be overridden by child classes.
Abstract Methods
register($wp_customize)
abstract public function register(WP_Customize_Manager $wp_customize): void
Since: 2.0.0
Parameters:
WP_Customize_Manager $wp_customize- The WordPress customizer manager
Returns: void
Description: Must be implemented by child classes to register customizer options, sections, settings, and controls.
WordPress Reference: Customizer Objects
File Structure
Customization classes should be placed in the includes/customizations/ directory and follow this naming convention:
includes/
└── customizations/
├── class-my-theme-customization.php
├── class-header-customization.php
└── class-footer-customization.php
File naming pattern: class-{name}.customization.php
Class naming pattern: {Name}_Customization
WordPress Customizer Integration
This class integrates with WordPress's customizer system by:
- Automatic Registration: Deodar automatically discovers and registers customization classes
- Hook Integration: Uses the
customize_registerhook for registration - Manager Access: Provides access to the
WP_Customize_Managerfor full customizer functionality
Customizer Objects
The register() method has access to all WordPress customizer objects:
- Sections - Group related controls
- Settings - Store customizer values
- Controls - User interface elements
- Panels - Group multiple sections
Sanitization
Always use appropriate sanitization callbacks for settings:
sanitize_text_field()- Text inputssanitize_email()- Email inputssanitize_url()- URL inputssanitize_hex_color()- Color inputsabsint()- Integer inputsesc_url_raw()- Image/URL inputs
Related Classes
Deodar- Main class that manages customization instancesWP_Customize_Manager- WordPress customizer managerWP_Customize_Control- WordPress customizer control base class
Related Functions
add_action('customize_register', ...)- WordPress hook used internallyget_theme_mod()- Retrieve customizer valuesset_theme_mod()- Set customizer values