sCategory Permalink

Posted by Dmytro Shteflyuk on

Plugin allows to select category which will be used to generate permalink on post edit page. Use custom permalink option %scategory% on Options/Permalinks options page.


  1. Download and unpack plugin files to the wp-content/plugins/scategory-permalink directory.

  2. Enable sCategory Permalink plugin on your Plugins page in Site Admin.

  3. Open the Options/Permalinks page in Site Admin and use %scategory% option in Custom Structure text field (you can look here for other options). In this blog I’m using /%scategory%/%postname%/ structure.

  4. When you move your mouse over category in Categories box the Primary link will appear on the right.

    Choose a category for permalink generation

    Click it to set the category which will be used to generate permalinks. It will be highlighted with bold.

  5. Have fun!


  1. Download and unpack plugin files to the wp-content/plugins/scategory-permalink directory.

  2. Open the Options/Permalinks page in Site Admin and and click Save Changes to re-generate permalinks.

  3. When you move your mouse over category in Categories box the Primary link will appear on the right. Click it to set the category which will be used to generate permalinks. It will be highlighted with bold.


I have recorded a small screencast on how sCategory Permalinks works starting from version 0.6.0:


Plugin works pretty well with the WordPress 2.7.0 — 2.8.2. Hey users of WordPress 2.7.0, could you explain why do you use so old buggy crap? Use new one instead, at least it looks more beautiful!


Latest version of sCategory Permalink is 0.6.2, and it could be downloaded here:

version0.6.2DownloadsCategory Permalink

Also you can download older versions from plugin home page on (but do you really need this old stuff?).

Frequently Asked Questions

Q. Every page on my site responds with error 404
A. Go to Options/Permalinks page in Site Admin and click Save Changes to re-generate permalinks.

Q. First category is used for permalinks instead of selected
A. Check the permalinks structure you used (Options/Permalinks). You should use %scategory% instead of %category%.

Q. I love this plugin. How to do a favor to the author?
A. Just vote for this plugin on And thank you!


If you have any suggestions, found a bug, or just wanted to say “thank you”,– feel free to contact me. Promise, I will answer to every message.

If you want to contribute your code, see the Development section below.


Sources of this plugin are available both in SVN and Git:

Feel free to check them out, make your changes and send me patches. Promise, I will apply every patch (of course, if they add a value to the product). Email for patches, suggestions, or bug reports: [email protected]. Also you have much more ways to contact me.


  • 0.6.2 (July 30, 2009)
    • Nothing really changed. Just to force WordPress to update version.
  • 0.6.1 (July 30, 2009)
    • Fixed blank page when post edit page requested.
    • Fixed “Primary” link appear on all sub-categories, when category selected.
  • 0.6.0 (July 30, 2009)
    • Client side script completely rewritten. New visual look and better usability (thanks to Nikolay Kolev).
  • 0.5.0 (July 28, 2009)
    • Fixed problem with Subscribe2 plugin (thanks to Paul Wagorn).
    • Performance improvement (update meta tags only once per save).
  • 0.4.0 (July 21, 2009)
    • Fixed not-found bug when /%year%/%scategory%/%posttitle% permalink used.
    • Fixed not-found bug when paged comments enabled (/comment-page-N).
    • JavaScript rewritten using jQuery library.
  • 0.3.0 (April 4, 2008)
    • Fixed bug when pages was not found in WordPress 2.5.
  • 0.2.2 (May 20, 2007)
    • Sometimes radio buttons was not displayed (thanks to Vince Caughley and Sam Keen).
  • 0.2.1 (Apr 1, 2007)
    • Removed dependency on deprecated WordPress 1.5 function wp_get_post_cats.
  • 0.2.0 (Mar 30, 2007)
  • 0.1.0 (Nov 18, 2006)
    • Initial plugin implementation.

Other plugins

Full list of plugins I have implemented is available here.

125 Responses to this entry

Subscribe to comments with RSS or TrackBack to 'sCategory Permalink'.

said on April 15th, 2007 at 02:15 · Permalink · Reply

I can’t see the radio control with wordpress 2.1.3. There are some problems?

said on April 16th, 2007 at 13:45 · Permalink · Reply

Are you sure you have enabled plugin? Another possible errors: you should copy plugin files into the wp-content/plugins/scategory_permalink folder; you should have JavaScript enabled in your browser.

said on April 16th, 2007 at 18:54 · Permalink · Reply

Hm.. Francesco, you are right. I have same problem.
You must press button ‘Save and Continue Editing’ or ‘Save’. You will see radio control after this step.

kpumuk, if user does not save a post, there is no way to select category(user just does not see radio control :( )

said on April 16th, 2007 at 19:05 · Permalink · Reply

Roman, you should update plugin to the latest version. See changelog for details, this bug has been fixed in 0.2.0 :-)

said on May 8th, 2007 at 08:58 · Permalink · Reply

This looks like a great plugin – exactly what I wanted. However, like Francesco, after activating I too cannot see the radio control with WordPress 2.1.

Source code for the post page has included the scategory javascript, but still no controls.

Is there anything I can check to find out why the problem?

said on May 8th, 2007 at 13:53 · Permalink · Reply

Okay, you could help me (and other plugin users) if you would post some additional information: your browser (and maybe plugins, which you are using in it, especially if they are modifying html somehow,- just like greasemonkey for Firefox does), wordpress version (2.1.3 or less?), wordpress plugins (this is most important information).

You can send me this information by email ([email protected]) or post in comments. I know, it’s not easy to collect all this information… You could make several screenshots of you wordpress plugins page at least. It would be perfect.

Of course, I’m trying to locate the problem myself, but it’s not easy to reproduce.

Thanks for help!

said on May 20th, 2007 at 00:44 · Permalink · Reply

I’m having the same issue

  • WP 2.1.3
  • sCat 0.2.1
  • Firefox (no extra extentions)
  • WP plugins
  • iG:Syntax Hiliter (3.5)
  • sCategory Permalink (0.2.1)

let me know if you need any other info

Sam Keen

said on July 18th, 2007 at 07:46 · Permalink · Reply

Hi, thanks for the update.

I have an issue with displaying subcatgories in the URL.

This are fine:


But not this:


I get a 404 error.



This is my permalinks structure:

said on March 17th, 2010 at 23:06 · Permalink · Reply

same here :/

My structure:


Also, id like to show ONLY the primary category, instead of both primary and parent.

Ex, with the structure used above, when i select the “News” category as the main one, it also prints its parent category (“Editoria”) in the url:


instead of just:

said on July 22nd, 2007 at 03:39 · Permalink · Reply

A really great and important plugin. i have a question, though. it seems to me that your plugin also creates new category url’s.

If than is created for the category page.

These url’s do not replace the normal wordpress ones ( That’s a shame, because category-label links under posts link to the old default url’s, while the new ones are much more logic.

I tried to fool wordpress by defining category permalink as /somestring/categoryname and post-permalink /somestring/categoryname/postname. This makes post-url return 404 though :-(.

any ideas?

said on July 22nd, 2007 at 05:53 · Permalink · Reply

oops. typo in admin-header. js link points to scategory_permalink, while plugin is in scategory-permalink. renaming directory solves problem

said on August 9th, 2007 at 13:34 · Permalink · Reply

Dmytro I figured out why people are having a hard time getting the radio buttons to show on the post page. It’s quite simple:

– On the scategory_permalink.php page, there is this line of code:

var $pluginLocation = '/wp-content/plugins/scategory_permalink';

If the users are anything like me, they simple unzipped the folder as “scategory-permalink.0.2.2” so that directory that is calling on the folder isn’t correct. If you simply change that line to:

var $pluginLocation = '/wp-content/plugins/scategory-permalink.0.2.2';

You got the radio buttons to show! I’m sure there’s a better way you can do this… a way where you don’t even have to change that $pluginLocation… just have it so it knows no matter where it is located (since the user, like many of us, will have made the mistake in unzipping it in a different directory than the one you put hard coded in the file)

Hope that helps

said on August 10th, 2007 at 12:22 · Permalink · Reply


I have a question about the plugin:

  1. What about posts published before plugin installation?

  2. Does it work with PW 2.2.2?

said on August 17th, 2007 at 20:56 · Permalink · Reply

Hello Dmytro,

I have used your plugin as a starting point for creating a similar one NG Primary Category WordPress plugin which inserts the radio boxes without using any Javascript (through PHP output buffering & regular expressions).

You might want to check the source code. Your comments / suggestions will be very welcomed since your PHP experience seems very advanced.
If it wasn’t for the %scategory% your plugin would have saved me from all the trouble!

Congratulations for having an excellent site, combining very good layout / presentation with very interesting subjects.

said on April 9th, 2010 at 08:47 · Permalink · Reply

Hi Nick: I’m very interested in using your NG Primary Category WordPress plugin, but can’t download it since your site appears to be down. Any chance you can get it loaded into WordPress’ plugins section?

Dmytro: No insult intended! Your plugin appears to work great so far, but I’d like to compare with Nick’s to see which works best for me.

said on August 24th, 2007 at 09:18 · Permalink · Reply

I’m using WP 2.2.x, activated plugin, followed the directions and I (like the guy with the previous version you fixed) am not seeing the radio buttons come up either.

I am also getting on the write new post page an error message line 481 on post-new.php. “object expected”. When I “turn back the hands of time” and deactivate your plugin and take the scatagory out of permalinks, the write page shows no errors, so it seems this is the problem.

Hope you come up with a fix. Thanks!

said on November 5th, 2007 at 20:20 · Permalink · Reply

I have same problem like HarryK’s problem.


said on December 3rd, 2007 at 09:24 · Permalink · Reply

А с wp 2.3.1 совместимость планируется?

said on March 3rd, 2008 at 19:58 · Permalink · Reply

It is not working on WP 2.3.3

The radio buttons does not appear.

said on March 18th, 2008 at 13:23 · Permalink · Reply

same here, now working with 2.3.3 :( !

does anyone know of any alternative plugins? or a way to do it manually?

said on April 7th, 2008 at 15:48 · Permalink · Reply

dear dmytro, ive installed everything according to the instructions, but the chosen (radiobutton) category does not show as the first one in my theme…

an example: at , ive chosen “tech” (ca 19) as the main category for the latest article on intels atom. neverhteless, the article shows up as “hardware” (cat 34). i ve got no explanation for this.

ive tried to uncheck the checkbox of the radiobuttoned tech category, but that doesnt help either. then “tech” disappears entirely from the theme on pages such as

said on April 7th, 2008 at 15:51 · Permalink · Reply

forgot to mention that cat 34 hardware is nested in cat 19 tech. this means that “hardware” is a part of “tech”. is this the culprit?

said on August 18th, 2008 at 06:07 · Permalink · Reply


Mmm, this may be a silly question, but next to each category there is a checkbox and a radio but – what is the purpose of having both of these? If i’m going to assign a post to a specific category should I select both the radio button and checkbox across from that category or only the radio button?

I’m just mystified about the checkbox when there is only reference to the radio button above.

Many thanks for a great plug

said on August 23rd, 2008 at 20:35 · Permalink · Reply

sadly the plugin is not working correctly with WP 2.6.1. The correct URL, as it is supposed by me, will be produced but it leads to 404. Any Chance for an update?

The checkboxes are used originaly by WordPress to assign one (or more!) categories to your post. The Radiobutton is used by this plugin to asign only one category to your post that should be displayed in the URL if you are using the permalink feature by WordPress. If you always assign only one category to your posts, or you are not using permalinks, you don’t need this plugin.

said on August 24th, 2008 at 00:38 · Permalink · Reply

Hi Smooth

thanks a lot that explanation has really helped.


said on October 8th, 2008 at 22:50 · Permalink · Reply

Супер, спасибо большущее за плагин. Пытался найти решение, но помог только ваш плагин. В такие моменты хочется найти кнопку Donate :)

said on October 16th, 2008 at 14:55 · Permalink · Reply

any suggestion how to automaticly using main category





thanks for your help

said on November 6th, 2008 at 17:38 · Permalink · Reply

This is the exact plugin I was looking for. Thanks so much for the time you’ve put into it.

Sadly, it isn’t working for me.

I see the radio buttons. But no matter which category I select (main category or sub-category) the permalink doesn’t change.

I’m using WordPress 2.6.1 if that helps.

said on December 15th, 2008 at 03:09 · Permalink · Reply

в 2.7 всё сломалось(

said on December 15th, 2008 at 15:01 · Permalink · Reply

Достаточно просто пересохранить пермалинки на странице администрирования – и все работает.

said on December 16th, 2008 at 02:20 · Permalink · Reply

Как я рад, что всё ещё живо)
только я не могу найти где это можно сделать.

said on January 3rd, 2009 at 17:22 · Permalink · Reply

This is a great plugin, but is there a way to do it without using %scategory% and just the standard %category%? I’d like the actual permalink to be manipulated upon saving the post.

I’m building a site where posts are categorized under several different sub-categories, but I want the permalinks to be created from only one set. But I would like the posts to appear in the pages for the other categories as well.

I’d like for permalinks to be /issues/july-2009/post-name.html and I would like to be able to go to /topics/development and see the post listed there. With %scategory% I currently get a 404 for /topics/development. How can I manipulate the actual permalink creation not using %scateogry%?

Let me know if you need more clarification and thanks for all the great work you have out into this plugin!

said on January 4th, 2009 at 16:00 · Permalink · Reply

Hey Jon,

Thank you for your great proposal. I definitely have to implement this feature in nearest release (I’m working on it now). Stay tuned!

said on January 25th, 2009 at 19:58 · Permalink · Reply

Спасибо дмитрий за отличный плагин, но вот в 2.7 перестали нормально коментарии работать. При постинге пишет что страница не найдена.

said on January 26th, 2009 at 02:15 · Permalink · Reply

Да, Евгений, спасибо. Тоже заметил, ищу решение, недеюсь, скоро получится исправить. Эта ошибка проявляется, если включить разбивку комментариев на страницы, потому если Вам не критично, можете отключить эту возможность дабы избавиться от ошибки. А там я и плагин поправлю :-)

said on January 26th, 2009 at 07:34 · Permalink · Reply

Я просто файл wp-comments-post на старый поменял, там редирект иначе сделан. Спасибо.

said on February 6th, 2009 at 23:37 · Permalink · Reply

Great plugin, I really loved it!!

And it works fine with WP 2.7!

said on February 9th, 2009 at 09:49 · Permalink · Reply

Well, after some tests I found out the 404 bug too…

My permalink was the tradicional /%year%/%monthnum%/%day%/%postname%/ and I changed it to /%post_id%/%scategory%/%postname%/

During the past week I’ve been testing a lot of configs, tried to mix scategory with permalink-redirect and top-level-cats, it made a too much trastic change in WP core and something was always not working.

After learning more about htaccess and trying to redirect error permalinks to working ones, I abdicated of top-level-cats and made most of permalink-redirect directly in htaccess, leaving only scategory.

But something is still not working. As soon as I change parmalink, pages URLs break. They all start returning 404 and nothing can stop it.

said on February 9th, 2009 at 09:51 · Permalink · Reply

The 2 things that I can’t let go is the new permalink structure and the ability to choose which category will be used for each post.

But I also can’t break date archives and much less pages, so I’m in a dead end now.

If I find a solution I’ll come back share it, but any help is also very apreciated :(

said on March 7th, 2009 at 13:12 · Permalink · Reply

Увы, получаю ошибку 404. WordPress 2.6.1

said on March 12th, 2009 at 18:35 · Permalink · Reply

Hello Dmytro,

Thank you for providing a great plugin.
I am having the same problem as Jon with subcategories. At this point I am getting a 404 when someone submits a comment. No 404 elsewere. I hope to hear about solution soon. Thank you.

Permalink: /%scategory%/%postname%/ before /%category%/%postname%/
WP 2.7.1 + sCategory 0.3.0

said on March 12th, 2009 at 20:34 · Permalink · Reply

After searching. I disabled comments paging in Settings > Discussion and it seems to be working.

I don’t think I have the same issue as Jon like I initially posted.

Thanks for a great plugin. Will be sure to make a donation soon.

said on April 4th, 2009 at 10:14 · Permalink · Reply

I second Jon’s request above but for a slightly different reason. My permalink structure uses .html and sCategory Permalink strips this resulting in problems with other plug ins.

said on May 7th, 2009 at 21:07 · Permalink · Reply


I installed this plugin, it seemed to work correctly, but now all my Pgaes (pages, not posts) all result in 404’s.

how do I finx this? even after disabling the plugin, is still doesn’t work !!

said on May 7th, 2009 at 21:19 · Permalink · Reply

actually, sorry, the problem goes away when I completely deactivate the plugin… but of course none of the inbound links to my blog link to the right pages because all the urls changed back to default categories.

help, is there a fix for this?

said on May 7th, 2009 at 21:22 · Permalink · Reply

paul, just go to Options/Permalinks and check the permalink structure (should be %scategory%). Then click save to regenerate permalinks.

said on May 7th, 2009 at 21:29 · Permalink · Reply

Yes, that’s what I did when I installed it, and it worked fine, however the Pages (again, pages, no posts) stopped working – they all resulted in 404’s.

the temporary fix for me was to go back to the %category% method… this actually didn’t work (even after re-saving), and I had to actually deactivate the plugin for it to start working.

NOW, the big problem is that my permalinks have reverted back to the originales (ie with categories other than the ones I selected with your pluin), and so links coming into my site all point at pages that do not exist.

The main problem is that your plugin causes my pages to 404. The secondary problem is that my inbound links are messed up now because i had to deactivate the plugin to make my site work.

More comments: 1 2 3

Post a comment

You can use simple HTML-formatting tags (like <a>, <strong>, <em>, <ul>, <blockquote>, and other). To format your code sample use [cc lang="php"]$a = "hello";[/cc] (allowed languages are ruby, php, yaml, html, csharp, javascript). Also you can use [cc][/cc] block and its syntax would not be highlighted.

Submit Comment