Smart RTL Post

Changelog

1.5.1

  • Fixed: CSS inline values (font_size, line_height) explicitly re-sanitized before injection — absint() and range clamp added
  • Fixed: WordPress.org submission zip now uses correct folder name ‘smart-rtl-post’ (no version suffix)
  • Confirmed: WP_UNINSTALL_PLUGIN check present in uninstall.php
  • Confirmed: Plugin slug, Text Domain, and load_plugin_textdomain are all ‘smart-rtl-post’ — consistent
  • Confirmed: No raw variable outputs — all echo uses esc_html/esc_attr/esc_url/wp_kses_post

1.5.0

  • Added: register_activation_hook — sets default options on clean install using add_option() with autoload=no
  • Added: autoload=false on all register_setting() calls (WP 6.0+) — prevents options loading on every page, improves performance
  • Added: readme.txt tags now include ‘direction’ and ‘gutenberg’ for better WordPress.org search visibility
  • Confirmed: WP_UNINSTALL_PLUGIN security check already present in uninstall.php
  • Confirmed: CSS loads conditionally — only on RTL posts or when [rtl] shortcode detected

1.4.2

  • Fixed: transition_post_status condition tightened — now only fires when status changes exactly TO publish FROM non-publish (avoids publish→draft, publish→trash edge cases)
  • Fixed: Multisite uninstall now uses batch processing (100 sites per loop) — prevents server hang on large networks
  • Fixed: Added wp-block-code to CSS RTL selectors
  • Fixed: Version bumped in rtl-style.css, block-editor.js, and SMART_RTL_VERSION constant — all in sync
  • Fixed: .pot file updated to version 1.4.2; all 20 strings verified with correct text-domain
  • Fixed: readme.txt Stable tag matches plugin Version header — WordPress.org consistency

1.4.1

  • Fixed: Version comments in rtl-style.css and block-editor.js updated to 1.4.1
  • Fixed: wp_insert_post replaced with transition_post_status hook — default direction now only saves on actual publish/schedule, not on every draft save
  • Fixed: Multisite support added to uninstall.php — all sub-sites cleaned up on network delete
  • Fixed: Added missing Gutenberg block selectors: wp-block-table, wp-block-group, wp-block-columns, wp-block-column, wp-block-cover, wp-block-media-text
  • Added: languages/smart-rtl-post.pot translation template file for Urdu/Pashto/Arabic translators

1.4.0

  • Fixed: Default direction now saved to database on first publish (was only shown in UI before)
  • Fixed: Gutenberg detection now uses reliable use_block_editor_for_post_type() instead of get_current_screen()
  • Fixed: line-height setting was registered but never actually applied — now works correctly
  • Fixed: Shortcode CSS now loads even in LTR posts (has_shortcode() detection added)
  • Fixed: Google Fonts now properly enqueued via wp_enqueue_style (font was named but never loaded)
  • Fixed: Shortcode [rtl] inline styles replaced with CSS class for better SEO and performance
  • Fixed: .smart-rtl-inline now inherits font-family, font-size, line-height from settings

1.3.1

  • Improved get_current_screen() safety check to prevent rare admin errors
  • Improved auth_callback to use post-specific edit_post capability (WordPress review standard)
  • Added wp_style_is() check before wp_add_inline_style() for safer CSS injection
  • Added explicit load_plugin_textdomain() for non-WordPress.org distributions
  • Added Settings link in Plugins list page for easier access

1.3.0

  • Added native Block Editor (Gutenberg) sidebar panel via PluginDocumentSettingPanel
  • Added Font Size setting (14 – 32px, default 18px) — useful for Urdu/Pashto readability
  • Fixed shortcode: now uses saved font setting instead of hardcoded font families
  • Fixed CSS scope: RTL direction no longer applied to full body (navigation/header unaffected)
  • Added uninstall.php — cleans up all options and post meta on plugin deletion

1.2.0

  • Added support for Pages (not just Posts)
  • Added Settings page (default direction, font chooser, line height)
  • Added [rtl]…[/rtl] shortcode for inline RTL text
  • CSS now loads conditionally — only on RTL pages
  • Google Fonts support (Noto Nastaliq Urdu, Scheherazade New, Amiri, Lateef)
  • Improved CSS to target common block editor content wrappers
  • Added smart_rtl_supported_post_types filter for developers
  • Added Requires PHP: 7.4 header

1.0.0

  • Initial release.

Plugin Website
Visit website

Author
Luqman Safay
Version:
1.5.1
Last Updated
April 9, 2026
Active Installs
20
Requires
WordPress 5.0
Tested Up To
WordPress 7.0
Requires PHP
7.4

Share Post

Join our newsletter.

Get insights into what’s happening at ChangelogWP right in your inbox. We don’t believe in spam.