Description
Applies configurable HTML fixes to WordPress and WooCommerce page output. Each fix can be individually enabled or disabled via Settings Manly Fix.
WordPress & HTML Fixes
-
Remove trailing slashes – Removes XHTML-style trailing slashes (
/>) from void elements (<meta>,<link>,<img>,<input>, etc.) for clean HTML5 output.
Validator: “Info: Trailing slash on void elements has no effect and interacts badly with unquoted attribute values.” -
Remove intrinsic size CSS – Removes the
contain-intrinsic-sizeCSS rule injected by WordPress for auto-sized images.
Validator: “CSS: contain-intrinsic-size: Property contain-intrinsic-size doesn’t exist.” -
Remove redundant aria-hidden – Removes
aria-hidden="true"from elements that already carry thehiddenattribute.
Validator: “Attribute aria-hidden is unnecessary for elements that have attribute hidden.” -
Move router style to
<head>– Moves the WordPress Interactivity Router animations inline<style>tag from<body>to<head>.
Validator: “Element style not allowed as child of element body in this context. (Suppressing further errors from this subtree.)” -
Remove invalid
asfrom prefetch links – Removes the invalidasattribute from<link rel="prefetch">elements emitted by WooCommerce.
Validator: “Alinkelement with anasattribute must have arelattribute that contains the valuepreloador the valuemodulepreload.”
WooCommerce Fixes
These fixes are only shown when WooCommerce is active.
-
Mini-cart role=”dialog” – Adds missing
role="dialog"to the WooCommerce mini-cart drawer div.
Validator: “Element div is missing one or more of the following attributes: role.” -
Add placeholder src to Interactivity API images – Adds a transparent placeholder
srcand an emptyalt=""to<img>elements that use the WordPress Interactivity API but have no static attributes. Real values are set by JavaScript at runtime.
Validator: “Elementimgis missing one or more of the following attributes:src,srcset.” / “Animgelement must have analtattribute.”
Support
For issues, feature requests, or contributions, please contact Manly Electronics.
Installation
- Upload the plugin folder to
/wp-content/plugins/directory - Activate the plugin through the ‘Plugins’ menu in WordPress
- Go to Settings Manly Fix to enable or disable individual fixes
FAQ
-
Does this plugin affect page performance?
-
No. The plugin uses output buffering at the
template_redirecthook, processing the entire page once before output. On typical sites, the performance impact is negligible. -
Can I choose which fixes are applied?
-
Yes. Go to Settings Manly Fix and toggle each fix on or off.
-
Are the WooCommerce fixes applied if WooCommerce is not installed?
-
No. The WooCommerce fixes section only appears in settings and only runs when WooCommerce is active.
-
Is this compatible with all WordPress versions?
-
Yes, the plugin uses standard WordPress hooks and PHP functions compatible with WordPress 4.0+.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Manly Fix” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Manly Fix” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.5
- Merged all Manly Woo Fix functionality into this plugin
- Added WooCommerce fixes: mini-cart role=”dialog”, Interactivity API image placeholder src/alt
- Added WordPress fixes: redundant aria-hidden, router style to head, prefetch as= attribute
- WooCommerce fixes section is only shown/applied when WooCommerce is active
1.4
- Added “Remove intrinsic size CSS” fix (absorbs remove-contain-intrinsic-size plugin)
1.3
- Added Settings page (Settings Manly Fix) with toggles for each fix
1.2
- Added direct file access protection
- Improved code documentation
1.1
- Initial public release
- Support for 18 HTML5 void elements
- Output buffering implementation