JTZL's Dark Mode

Àpèjúwe

JTZLÌtumọ̀ Yorùbá: ’s Dark Mode automatically applies dark mode styling to your WordPress site based on your visitors’ operating system preferences. No configuration required Ìtumọ̀ Yorùbá: – it just works.

Interactive demo:
https://playground.wordpress.net/?blueprint-url=https://wordpress.org/plugins/wp-json/plugins/v1/plugin/jtzls-dark-mode/blueprint.json

Key Features:

  • Automatic detection using CSS prefers-color-scheme: dark media query
  • Zero configuration Ìtumọ̀ Yorùbá: – works out of the box
  • Privacy-respecting Ìtumọ̀ Yorùbá: – all detection happens client-side
  • Theme-agnostic Ìtumọ̀ Yorùbá: – works with any WordPress theme
  • Media preservation Ìtumọ̀ Yorùbá: – images, videos, and embeds display correctly
  • Developer-friendly Ìtumọ̀ Yorùbá: – extensible via WordPress filter hooks

How It Works:

The plugin uses the CSS prefers-color-scheme media query to detect when a visitorÌtumọ̀ Yorùbá: ’s operating system is set to dark mode. When detected, dark mode styles are automatically applied without any JavaScript or server-side processing.

Technical Features:

  • Modern PHP 8.2+ architecture with dependency injection (PHP-DI)
  • Service-oriented design with PSR-4 autoloading
  • Separate styling strategies for Block themes (CSS variables) and Classic themes (filter inversion)
  • Comprehensive test coverage with PHPUnit

Developer Hooks:

Customize the plugin behavior using these filter hooks:

  • jtzl_dark_mode_enabled Ìtumọ̀ Yorùbá: – Enable/disable dark mode on specific pages
  • jtzl_dark_mode_css_variables Ìtumọ̀ Yorùbá: – Customize dark mode colors
  • jtzl_dark_mode_custom_css Ìtumọ̀ Yorùbá: – Add custom CSS rules

Ìgbéwọlẹ̀

  1. Upload the jtzls-dark-mode folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. ThatÌtumọ̀ Yorùbá: ’s it! Dark mode will automatically apply based on visitor preferences

FAQ

Does this plugin require any configuration?

No. JTZLÌtumọ̀ Yorùbá: ’s Dark Mode works automatically without any settings or configuration.

How does dark mode detection work?

The plugin uses the CSS prefers-color-scheme: dark media query, which detects your operating systemÌtumọ̀ Yorùbá: ’s color scheme preference. This is a privacy-respecting, client-side-only approach.

Will this affect my images and videos?

No. The plugin includes media preservation rules that ensure images, videos, iframes, and embedded content display without color distortion.

Can I disable dark mode on specific pages?

Yes. Use the jtzl_dark_mode_enabled filter hook:

add_filter( 'jtzl_dark_mode_enabled', function( $enabled ) {
    if ( is_page( 'landing-page' ) ) {
        return false;
    }
    return $enabled;
} );

Can I customize the dark mode colors?

Yes. Use the jtzl_dark_mode_css_variables filter hook to override default CSS variables:

add_filter( 'jtzl_dark_mode_css_variables', function( $variables ) {
    $variables['--id-bg-primary'] = '#0d1117';
    $variables['--id-text-primary'] = '#f0f0f0';
    return $variables;
} );

Available CSS variables:
* --id-bg-primary Ìtumọ̀ Yorùbá: – Primary background color
* --id-bg-secondary Ìtumọ̀ Yorùbá: – Secondary background color
* --id-text-primary Ìtumọ̀ Yorùbá: – Primary text color
* --id-text-secondary Ìtumọ̀ Yorùbá: – Secondary text color
* --id-border-color Ìtumọ̀ Yorùbá: – Border color
* --id-link-color Ìtumọ̀ Yorùbá: – Link color
* --id-link-hover Ìtumọ̀ Yorùbá: – Link hover color

Note: CSS variables only apply to Block themes. Classic themes use filter inversion.

Does this work with Full Site Editing (FSE) themes?

Yes. JTZLÌtumọ̀ Yorùbá: ’s Dark Mode uses different styling strategies optimized for each theme type:

  • Block themes (FSE): Uses CSS custom properties for precise color control
  • Classic themes: Uses CSS filter inversion for broad compatibility

Both approaches ensure proper dark mode rendering without theme modifications.

Does this affect the WordPress admin area?

No. Dark mode styling is applied only to the public-facing frontend of your site.

Can I add custom CSS rules?

Yes. Use the jtzl_dark_mode_custom_css filter hook:

add_filter( 'jtzl_dark_mode_custom_css', function( $css ) {
    return $css . '@media (prefers-color-scheme: dark) { .my-element { color: #fff; } }';
} );

What are the system requirements?

  • PHP 8.2 or higher
  • WordPress 6.9 or higher
  • Composer (for development only)

Is there an interactive preview?

Yes. Launch a live preview in WordPress Playground:

https://playground.wordpress.net/?blueprint-url=https://wordpress.org/plugins/wp-json/plugins/v1/plugin/jtzls-dark-mode/blueprint.json

Àwọn àgbéyẹ̀wò

Kò sí àwọn àgbéyẹ̀wò fún plugin yìí.

Àwọn Olùkópa & Olùgbéejáde

“JTZL's Dark Mode” jẹ́ ètò ìṣàmúlò orísun ṣíṣí sílẹ̀. Àwọn ènìyàn wọ̀nyí ti ṣe ìkópa sí plugin yìí.

Àwọn Olùkópa

Túmọ̀ “JTZL's Dark Mode” sí èdè rẹ.

Ṣe o nífẹ̀ẹ́ sí ìdàgbàsókè?

Ṣàwárí koodu, ṣàyẹ̀wò ibi ìpamọ́ SVN, tàbí ṣe àgbékalẹ̀ sí àkọsílẹ̀ ìdàgbàsókè nípasẹ̀ RSS.

Àkọsílẹ̀ àwọn àyípadà

1.0.0

  • Initial release
  • Automatic dark mode detection via CSS prefers-color-scheme
  • Theme-agnostic styling with CSS custom properties
  • Media preservation for images, videos, and embeds
  • Developer filter hooks for customization