Custom Permalinks
Sami Ahmed SiddiquiIn case of found any site breaking issue after upgrading to the latest version then please report the issue on WordPress Forum OR GitHub with complete information to reproduce the issue and move back to the old version. You can download any of the old version from here: https://wordpress.org/plugins/custom-permalinks/advanced/
Lay out your site the way you want it. Set the URL of any post, page, tag or category to anything you want. Old permalinks will redirect properly to the new address. Custom Permalinks give you ultimate control over your site structure.
Be warned: This plugin is not a replacement for WordPress’s built-in permalink system. Check your WordPress administration’s “Permalinks” settings page first, to make sure that this doesn’t already meet your needs.
This plugin is only useful for assigning custom permalinks for individual posts, pages, tags or categories. It will not apply whole permalink structures or automatically apply a category’s custom permalink to the posts within that category.
Filters
Add `PATH_INFO` in `$_SERVER` Variable
add_filter( 'custom_permalinks_path_info', '__return_true' );
Disable Redirects
To disable complete redirects functionality provided by this plugin, add the filter that looks like this:
function yasglobal_avoid_redirect( $permalink ) {
return true;
}
add_filter( 'custom_permalinks_avoid_redirect', 'yasglobal_avoid_redirect' );
Disable Particular Redirects
To disable any specific redirect to be processed by this plugin, add the filter that looks like this:
function yasglobal_avoid_redirect( $permalink ) {
// Replace 'testing-hello-world/' with the permalink you want to avoid
if ( 'testing-hello-world/' === $permalink ) {
return true;
}
return false;
}
add_filter( 'custom_permalinks_avoid_redirect', 'yasglobal_avoid_redirect' );
Exclude Permalink to be processed
To exclude any Permalink to be processed by the plugin, add the filter that looks like this:
function yasglobal_xml_sitemap_url( $permalink ) {
if ( false !== strpos( $permalink, 'sitemap.xml' ) ) {
return '__true';
}
return;
}
add_filter( 'custom_permalinks_request_ignore', 'yasglobal_xml_sitemap_url' );
Exclude Post Type
To remove custom permalink form from any post type, add the filter that looks like this:
function yasglobal_exclude_post_types( $post_type ) {
// Replace 'custompost' with your post type name
if ( 'custompost' === $post_type ) {
return '__true';
}
return '__false';
}
add_filter( 'custom_permalinks_exclude_post_type', 'yasglobal_exclude_post_types' );
Exclude Posts
To exclude custom permalink form from any posts (based on ID, Template, etc), add the filter that looks like this:
function yasglobal_exclude_posts( $post ) {
if ( 1557 === $post->ID ) {
return true;
}
return false;
}
add_filter( 'custom_permalinks_exclude_posts', 'yasglobal_exclude_posts' );
Allow Accents Letters
To allow accents letters, please add below-mentioned line in your theme functions.php
:
function yasglobal_permalink_allow_accents() {
return true;
}
add_filter( 'custom_permalinks_allow_accents', 'yasglobal_permalink_allow_accents' );
Allow Uppercase Letters
To allow uppercase letters/words, please add below-mentioned line in your theme functions.php
:
function yasglobal_allow_uppercaps() {
return true;
}
add_filter( 'custom_permalinks_allow_caps', 'yasglobal_allow_uppercaps' );
Allow Redundant Hyphens
To allow redundant hyphens, please add below-mentioned line in your theme functions.php
:
function yasglobal_redundant_hyphens() {
return true;
}
add_filter( 'custom_permalinks_redundant_hyphens', 'yasglobal_redundant_hyphens' );
Manipulate Permalink Before Saving
To make changes in permalink before saving, please use custom_permalink_before_saving
filter. Here is an example to see how it works.
function yasglobal_permalink_before_saving( $permalink, $post_id ) {
// Check trialing slash in the permalink.
if ( substr( $permalink, -1 ) !== '/' ) {
// If permalink doesn't contain trialing slash then add one.
$permalink .= '/';
}
return $permalink;
}
add_filter( 'custom_permalink_before_saving', 'yasglobal_permalink_before_saving', 10, 2 );
Remove `like` Query
To remove like
query to being work, add below-mentioned line in your theme functions.php
:
add_filter( 'cp_remove_like_query', '__return_false' );
Note: Use custom_permalinks_like_query
filter if the URLs doesn’t works for you after upgrading to v1.2.9
.
Thanks for the Support
I do not always provide active support for the Custom Permalinks plugin on the WordPress.org forums, as I have prioritized the email support. One-on-one email support is available to people who bought Custom Permalinks Premium only.
Bug reports
Bug reports for Custom Permalinks are welcomed on GitHub. Please note GitHub is not a support forum, and issues that aren’t properly qualified as bugs will be closed.
caused Posts/Pages to redirect to other posts/pages.
By saad7777 on September 23, 2024
blog post are redirecting to some other post. i dunno why. but deactivating this plugin resolved the issue. So the issue must be in the plugin. is there anything i can do in this situation?
Excellent plugin
By nimonogi on February 21, 2024
Excellent plugin. I would really like to see categories included as well.
Plugin can't be removed
By ddayoverlordwebmaster on December 10, 2023
Once you have installed this plugin, there is no turning back. These redirections are causing SEO issues and Google won't index my website because of them. I faced multiple URL crashes when I desactivated the plugin.
It caused redirect issues
By alexnenov on December 6, 2023
It caused redirect issues and Google stopped indexing many important pages of our site.
Thank you very much
By john0zhuang on July 4, 2023
Thank you very much, this plugin solves a lot of problems
Exactly what I wanted
By Ali BZ (upmusic) on May 10, 2023
Exactly what I wanted
Word Perfect!
By wildworm on April 17, 2023
Thanks for your great work!
Some posts were showing 404er because of this plugin
By interwebsltd on March 5, 2023
I published a post. I tried to visit it, it shows an error. I change the date for the past, the post works. I removed the plugin, everything is fine.
Nice plugin
By egeoposada on February 26, 2023
This is very nice plugin! Very simple and helpful!
Works great
By ozosh182 on February 16, 2023
I wanted capital letters and dots on my slug. And it worked with this plugin. Thank You !!!
2.7.0 – Aug 20, 2024
- Bug
- Enhancement:
2.6.0 – Aug 15, 2024
- Feature Additions:
- Compatibility with PolyLang Plugin
2.5.2 – Feb 14, 2023
2.5.1 – Feb 14, 2023
2.5.0 – Jan 02, 2023
- Bugs
- Enhancement
- Same permalink with WPML different domain
2.4.0 – Nov 26, 2021
- Bugs
- Enhancements
Earlier versions
- For the changelog of earlier versions, please refer to the separate changelog.txt file.
This process defines you the steps to follow either you are installing through WordPress or Manually from FTP.
From within WordPress
- Visit ‘Plugins > Add New’
- Search for Custom Permalinks
- Activate Custom Permalinks from your Plugins page.
Manually
- Upload the
custom-permalinks
folder to the/wp-content/plugins/
directory - Activate Custom Permalinks through the ‘Plugins’ menu in WordPress
Reviews
4.1 out of 5 stars
- Version: 2.7.0
- Last updated: 1 month ago
- Active installations: 100K
- WordPress version: 2.6
- Tested up to: 6.6.2
- PHP version: 7.0