Description
If you were to use this on a website like http;//example.com/test/testing/, you would get results like these:
-
- Before: http;//example.com/test/another-test/#anchor
- After: ../another-test/#anchor
-
- Before: http;//example.com/wp-content/themes/twentyten/style.css
- After: /wp-content/themes/twentyten/style.css
-
- Before: https;//example.com/wp-content/themes/twentyten/style.css
- After: https;//example.com/wp-content/themes/twentyten/style.css
-
- Before: http;//google.com/test/
- After: //google.com/test/
-
- Before: ../../../../../../../../#anchor
- After: /#anchor
- After (
$output_type=1
): ../../#anchor
All string parsing. No directory browsing.
If you’re looking for a plugin that will automatically convert all URLs on your WordPress site, instead check out my other plugin, WP-HTML-Compression.
Before you copy this code and add it into your own, keep in mind that there will probably be future updates. Keeping the code within an installed plugin will make sure that you’re notified.
Installation
- Download the plugin (zip file).
- Upload and activate the plugin through the “Plugins” menu in the WordPress admin.
FAQ
- Why isn’t this automatic?
-
Check out WP-HTML-Compression instead.
- How does this work?
-
Just use
absolute_to_relative_url($url)
. - Will this plugin work for WordPress version x.x.x?
-
This plugin has only been tested with versions of WordPress as early as 3.2. For anything older, you’ll have to see for yourself.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Absolute-to-Relative URLs” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Absolute-to-Relative URLs” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
0.3.4
- Empty, hash-only anchors (
"#"
) are no longer invalidated to"/"
0.3.3
- JavaScript URIs (
"javascript:"
) are no longer invalidated as paths
0.3.2
- Data URIs (
"data:"
) are no longer invalidated as paths
0.3.1
- Domains with and without “www.” are no longer considered to be identical by default, but can still be overridden
0.3
- Scheme-relative URLs (
//domain.com
) now supported on input and output - Cleans up the ports and paths of external URLs
- Optionally, output only host-relative URLs (
/root-dir/
) - Speed optimizations
- Minor bug fixes
0.2
- Path-relatve URLs (
../
), or parenting, now supported on input and output - Differentiates schemes/protocols, usernames, passwords, hosts, ports, paths, resources/files, queries and fragments/hashes
- Considers domains with and without “www.” to be identical, and can be overridden
- Outputs the shortest url (host- or path-relative) by default, and can be overridden
- Custom site URL support, but only with a separate
new Absolute_to_Relative_URLs()
instance
0.1
- Initial release