Custom Post Type Rewrite


Custom Post Type Rewrite plugin adds default custom post type permalinks.

By default, there are no some permalinks of custom post type.
The Custom Post Type Rewrite plugin adds permalink structure of custom post type.

  • date-based
  • author-based
  • front

Note: Regarding has_archive and rewrite in $args of Parameters, the priority of the rewrite rule conforms to register_post_type().


  1. Download and unzip files. Or install Custom Post Type Rewrite plugin using the WordPress plugin installer. In that case, skip 2.
  2. Upload “custom-post-type-rewrite” to the “/wp-content/plugins/” directory.
  3. Activate the plugin through the ‘Plugins’ menu in WordPress.
  4. Save permalink structure and refresh permalinks through the ‘Settings > Permalinks’ menu in WordPress.
  5. Have fun!

IMPORTANT: By default, WordPress will not work the Custom Post Type Rewrite. You need to refresh permalinks.


If you have any trouble, you can use the forums or report bugs.


Small patches and bug reports can be submitted a issue tracker in Github. Forking on Github is another good way. You can send a pull request.

You can also contribute by answering issues on the forums.

Patches and Bug Fixes

Forking on Github is another good way. You can send a pull request.

  1. Fork Custom Post Type Rewrite from GitHub repository
  2. Create a feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am ‘Add some feature’
  4. Push to the branch: git push origin my-new-feature
  5. Create new Pull Request

Contribute guidlines

If you would like to contribute, here are some notes and guidlines.

  • All development happens on the develop branch, so it is always the most up-to-date
  • The master branch only contains tagged releases
  • If you are going to be submitting a pull request, please submit your pull request to the develop branch
  • See about forking and pull requests

Test Matrix

For operation compatibility between PHP version and WordPress version, see below Github Actions.


15 мая, 2017
I installed this plugin and activated it. There is no indication anything has changed and I have no other menu’s/options for permalinks than I did before I installed it.
3 верасня, 2016
What more can you ask? Actually, I had to swap to this plugin because after migrating and updating my site, the update version of the Custom Post Type Permalinks by Toro_Unit stopped working as intended. It kept doubling the custom post type slug in the archive url. For example: [Link redacted]
Read all 2 reviews

Contributors & Developers

“Custom Post Type Rewrite” is open source software. The following people have contributed to this plugin.




  • tested up to 6.2.0
  • fix composer scripts
  • update github actions
  • add support section and enhance contribution section to README
  • fix license


  • edit README
  • add test case
  • fix the priority of the rewrite rule of register_post_type()


  • change mysql from version 8.0 to version 5.7 using docker image
  • fix indent style
  • change plugin initialization to wp_loaded hook


  • fix ‘Trying to get property ‘permalink_structure’ of non-object’ warning
  • change plugin initialization to plugins_loaded hook
  • replace assert from assertEquals to assertSame


  • update wp-plugin-unit-test.yml
  • bump up yoast/phpunit-polyfills version
  • change os to ubuntu-20.04 for ci
  • add Upgrade Notice
  • change requires at least to wordpress 4.9
  • change requires to PHP 5.6


  • add timeout-minutes to workflows
  • add phpunit-polyfills
  • tested up to 5.8.0
  • add .editorconfig


  • tested up to 5.7.0
  • separate a class into a class file
  • add test case
  • add sponsor link
  • add FUNDING.yml
  • add donate link
  • update wordpress-test-matrix
  • add GitHub actions for CI/CD, remove .travis.yml


  • fix rewrite_rule


  • fix indent and reformat with phpcs and phpcbf
  • add composer.json for test
  • add static code analysis config
  • change Requires at least from 3.4.1 to 3.8


  • fix add_rewrite_rule
  • fix date-based permalink structure
  • fix phpunit tests


  • refactoring
  • add phpunit and tests


  • Initial release