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.
Installation
- Download and unpack plugin files to wp-content/plugins/scategory-permalink directory.
- Enable “sCategory Permalink” plugin on your Plugins page in Site Admin.
- Go to the Options/Permalinks page in Site Admin and use %scategory% option in Custom text field (you can look here for other options). In this blog I’m using /%scategory%/%postname%/.
- Now on Write Post page near the categories checkboxes radio button will appear:

Select radio button near category which will be used in permalink. - Have fun!
Requirements
Plugin works with Wordpress 2.0 — 2.5. But I recommend you to update your Wordpress to version 2.5 because it has many nice features.
Download
Latest version of “sCategory Permalink” is 0.3.0, and it can be downloaded here:
version0.3.0DownloadsCategory Permalink
If you have any propositions, want to send feedback or found bugs, please post comments. It’s very important for me!
Changelog
- v0.3.0 (April 4, 2008)
- Fixed bug when pages was not found in Wordpress 2.5.
- v0.2.2 (May 20, 2007)
- Sometimes radio buttons was not displayed (thanks to Vince Caughley and Sam Keen).
- v0.2.1 (Apr 1, 2007)
- Removed dependency on deprecated Wordpress 1.5 function wp_get_post_cats.
- v0.2.0 (Mar 30, 2007)
- Fixed bug with trackbacks (thanks to Caio Proiete).
- Fixed bug when radiobuttons was missing on new post page (thanks to Jayant Kumar Gandhi).
- v0.1.0 (Nov 18, 2006)
- Initial plugin implementation.
Other plugins
Full list of plugins I have implemented is available here.
Русский
English
I can’t see the radio control with wordpress 2.1.3. There are some problems?
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.
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 :( )
Roman, you should update plugin to the latest version. See changelog for details, this bug has been fixed in 0.2.0 :-)
Yep, you are right. I forgot update the plugin.
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?
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 (kpumuk@kpumuk.info) 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!
I’m having the same issue
let me know if you need any other info
Sam Keen
Hi, thanks for the update.
I have an issue with displaying subcatgories in the URL.
This are fine:
2
/MainCategory/
But not this:
I get a 404 error.
Sample:
This is my permalinks structure:
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 domain.com/categoryname/postname than domain.com/categoryname is created for the category page.
These url’s do not replace the normal wordpress ones (domain.com/category/categoryname). 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?
oops. typo in admin-header. js link points to scategory_permalink, while plugin is in scategory-permalink. renaming directory solves problem
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:
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:
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
Hello,
I have a question about the plugin:
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.
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!
I have same problem like HarryK’s problem.
thanks.
А с wp 2.3.1 совместимость планируется?
It is not working on WP 2.3.3
The radio buttons does not appear.
same here, now working with 2.3.3 :( !
does anyone know of any alternative plugins? or a way to do it manually?
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 http://handshake.se , 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 http://handshake.se/tech/intels-nya-karnkraftverk/
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?
Thank you for the report. Will check it in a short time.
Hi
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
Nick
Hi,
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?
@Nick
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.
Hi Smooth
thanks a lot that explanation has really helped.
Nick
[...] Install the sCategory Permalink plugin, which will let you choose which category (silo) each post should go [...]
Супер, спасибо большущее за плагин. Пытался найти решение, но помог только ваш плагин. В такие моменты хочется найти кнопку Donate :)
[...] answer to this minor problem was sCategory Permalink, a plugin by Dmytro Shteflyuk which allows you to tick which category your post will use for your [...]
any suggestion how to automaticly using main category
ex.
to
thanks for your help
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.
в 2.7 всё сломалось(
Достаточно просто пересохранить пермалинки на странице администрирования - и все работает.
Как я рад, что всё ещё живо)
только я не могу найти где это можно сделать.
Settings -> Permalinks -> Save
спасибо)
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!
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!
Спасибо дмитрий за отличный плагин, но вот в 2.7 перестали нормально коментарии работать. При постинге пишет что страница не найдена.
Да, Евгений, спасибо. Тоже заметил, ищу решение, недеюсь, скоро получится исправить. Эта ошибка проявляется, если включить разбивку комментариев на страницы, потому если Вам не критично, можете отключить эту возможность дабы избавиться от ошибки. А там я и плагин поправлю :-)
Я просто файл wp-comments-post на старый поменял, там редирект иначе сделан. Спасибо.
Great plugin, I really loved it!!
And it works fine with WP 2.7!
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.
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 :(
Увы, получаю ошибку 404. WordPress 2.6.1
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
Attachment to above for clarification:
http://www.domain.com/category/subcategory/post/
After clicking on the submit comment:
http://www.domain.com/category/subcategory/post/comment-page-1/#comment-19
where the 404 error occurs.
After disabling the sCategory plugin, it works but I loose the subcategory in the address.
Thanks in advance for this.
Hi,
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.
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.
This plugin solved my 404 subcategory issues without any workarounds:
http://wordpresssupplies.com/wordpress-plugins/no-category-base/
Help!!!
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 !!
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?
paul, just go to Options/Permalinks and check the permalink structure (should be %scategory%). Then click save to regenerate permalinks.
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.
What version of WordPress and scategory_permalink do you use? In this blog I’m using latest stable WordPress and plugin, and see no problems with pages.
HI,
I’m using WP 2.7.1
permalink is /%year%/%scategory%/%postname%/
I’m wondering if it could possibly be a plugin conflict? I’m using:
All in One SEO Pack 1.4.91
Another Wordpress Classifieds Plugin 1.0.4.8
Audio player 2.0b6
Better Blogroll 2.9
Exclude Pages from Navigation 1.51
Exec-PHP 4.9
Google XML Sitemaps 3.1.2
Nofollow Links 1.0.3
Subscribe2 4.15
WP-EMail 2.40
WP-PostViews 1.40
thanks
Ok, I have dirty solution for you. Find the following link in scategory_permalink.php:
and replace it with:
Works perfectly. Thank you so much.
I have never had anyone respond so quickly to problems as you have - even to the point of doing some custom programming for me.
Inspires myself to do better. thank you.
Thank you for your report. This change will be integrated into the upcoming release, so update would not break anything.
I had same problem paul had when I installed scategory, I’m sad I didn’t have the same support that time :P
I wanted to use /%post_id%/%scategory%/%postname%/ as permalink, but it was breaking pages. Only solution I found was to use /%scategory%/%post_id%/%postname%/ instead.
I will give it a try with your fix, but now I started to feel that having post ID separating category to postname is the best structure after all :P
But I’d like to make a request. When we have a category nested inside another, both of them are used on permalink. I’d like to have only the nested one showing on some cases, but still both of them on other cases… Do you think this can be implemented? :p
Using my site http://Hikari.ws as example.
I have a lot of posts using the category http://hikari.ws/cats/entretenimento/vogonismo/, one of them is http://hikari.ws/entretenimento/vogonismo/291/o-pq-de-eu-naum-gostar-dos-vegetarianos/.
I’d like it to be http://hikari.ws/vogonismo/291/o-pq-de-eu-naum-gostar-dos-vegetarianos/. This URL works, but WordPress keeps generating the /entretenimento/vogonismo/ URL, and thanks to Permalink Redirect it goes back to /entretenimento/vogonismo/ as soon as /vogonismo/ URL is used.
But on the other hand, posts based on http://hikari.ws/cats/tutorial/en/ category must keep the /tutorial/en/ permalink, to indicate their language.
Since your plugin is able to tweak WP permalink core, I belive this can also be done, but I’m not good enough on PHP to implement it. In User Interface, it would be a matter of choosing to use whole category path or only the nested one.
I can beta test it with you if you want, I have 2 blogs (1 of them using scategory for a few months, the other will have it implemented next week!) and I can install as many development blogs as I want to make tests.
Another question, which plugin do you use for code formatting on comments?
I use WP-Syntax and it doesn’t work on comments…
I use my own plugin named CodeColorer for a while.
Is there a way to use the scategory to display in a template? I’d love to designate a “primary” category which I display in my template. Maybe you could add a function in future versions that allows this? Or is there one already that I missed?
Thanks, and great plugin!
RB
Hi,
I am using the following permalink structure
/%category%/%year%-%monthnum%-%day%-%postname%/
This plugin is not working for this permalink structure & I am using Wordpress 2.7.1
Please suggest me the fix.
Thanks.
Freshers Jobs– If you’ll read the top of THIS PAGE… you’ll see it says you need to use %scategory%.
Please do a double check before posting in the future.
I just found out the permalink is stored in the meta field: _category_permalink which is relatively simplistic to draw out. Hooray!
looks like the plugin is breaking the pagination of the blog ( ie domain.com/page/2/ doesn’t work anymore). ie “more entries” link at the bottom
is there a fix for this?
thanks!