sCategory Permalink

Mar 30
2007 00:55 · Русский (22,524 views)

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

  1. Download and unpack plugin files to wp-content/plugins/scategory-permalink directory.
  2. Enable “sCategory Permalink” plugin on your Plugins page in Site Admin.
  3. 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%/.
  4. Now on Write Post page near the categories checkboxes radio button will appear:
    sCategory Permalink
    Select radio button near category which will be used in permalink.
  5. 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)
  • v0.1.0 (Nov 18, 2006)
    • Initial plugin implementation.

Other plugins

Full list of plugins I have implemented is available here.

66 Responses to this entry

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

Francesco @
said on 2007-04-15 at 2.15 am

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

said on 2007-04-16 at 1.45 pm

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 2007-04-16 at 6.54 pm

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 2007-04-16 at 7.05 pm

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

said on 2007-04-16 at 8.01 pm

Yep, you are right. I forgot update the plugin.

Vince @
said on 2007-05-08 at 8.58 am

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 2007-05-08 at 1.53 pm

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!

said on 2007-05-20 at 12.44 am

I’m having the same issue

  • WP 2.1.3
  • sCat 0.2.1
  • Firefox 2.0.0.3 (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 2007-07-18 at 7.46 am

Hi, thanks for the update.

I have an issue with displaying subcatgories in the URL.

This are fine:

1
2
/MainCategory/SubCategory/PostTitle/
/MainCategory/

But not this:

1
/MainCategory/SubCategory/

I get a 404 error.

Sample:

1
http://jesseliwag.com/old-blog/tiaong-archive/waiting-for-my-work-to-residence-visa/157/

This is my permalinks structure:

1
/%category%/%postname%/%post_id%/
Robert @
said on 2007-07-22 at 3.39 am

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?

Robert @
said on 2007-07-22 at 5.53 am

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

said on 2007-08-09 at 1.34 pm

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:

1
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:

1
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 2007-08-10 at 12.22 pm

Hello,

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 2007-08-17 at 8.56 pm

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.

HarryK @
said on 2007-08-24 at 9.18 am

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 2007-11-05 at 8.20 pm

I have same problem like HarryK’s problem.

thanks.

sonika @
said on 2007-12-03 at 9.24 am

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

Fabio @
said on 2008-03-03 at 7.58 pm

It is not working on WP 2.3.3

The radio buttons does not appear.

ilo @
said on 2008-03-18 at 1.23 pm

same here, now working with 2.3.3 :( !

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

said on 2008-04-07 at 3.48 pm

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/

said on 2008-04-07 at 3.51 pm

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 2008-04-07 at 4.03 pm

Thank you for the report. Will check it in a short time.

Nick
said on 2008-08-18 at 6.07 am

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

smooth
said on 2008-08-23 at 8.35 pm

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.

Nick
said on 2008-08-24 at 12.38 am

Hi Smooth

thanks a lot that explanation has really helped.

Nick

said on 2008-09-11 at 7.22 pm

[...] Install the sCategory Permalink plugin, which will let you choose which category (silo) each post should go [...]

Serg
said on 2008-10-08 at 10.50 pm

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

said on 2008-10-09 at 10.51 pm

[...] 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 [...]

dea @
said on 2008-10-16 at 2.55 pm

any suggestion how to automaticly using main category

ex.

1
domain.com/level1/level2/level3/postname/

to

1
domain.com/level1/postname/

thanks for your help

said on 2008-11-06 at 5.38 pm

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 2008-12-15 at 3.09 am

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

said on 2008-12-15 at 3.01 pm

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

said on 2008-12-16 at 2.20 am

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

said on 2008-12-18 at 3.00 pm

Settings -> Permalinks -> Save

Settings -> Permalinks

said on 2008-12-19 at 4.14 am

спасибо)

Jon
said on 2009-01-03 at 5.22 pm

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 2009-01-04 at 4.00 pm

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 2009-01-25 at 7.58 pm

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

said on 2009-01-26 at 2.15 am

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

Евгений @
said on 2009-01-26 at 7.34 am

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

Hikari @
said on 2009-02-06 at 11.37 pm

Great plugin, I really loved it!!

And it works fine with WP 2.7!

Hikari @
said on 2009-02-09 at 9.49 am

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.

Hikari @
said on 2009-02-09 at 9.51 am

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 2009-03-07 at 1.12 pm

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

Serenine @
said on 2009-03-12 at 6.35 pm

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

Serenine @
said on 2009-03-12 at 7.40 pm

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.

Serenine @
said on 2009-03-12 at 8.34 pm

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.

said on 2009-04-04 at 10.14 am

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.

Serenine @
said on 2009-04-17 at 3.43 pm

This plugin solved my 404 subcategory issues without any workarounds:

http://wordpresssupplies.com/wordpress-plugins/no-category-base/

paul @
said on 2009-05-07 at 9.07 pm

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 !!

paul @
said on 2009-05-07 at 9.19 pm

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 2009-05-07 at 9.22 pm

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

paul @
said on 2009-05-07 at 9.29 pm

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.

said on 2009-05-07 at 9.31 pm

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.

paul @
said on 2009-05-07 at 9.36 pm

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

said on 2009-05-07 at 9.58 pm

Ok, I have dirty solution for you. Find the following link in scategory_permalink.php:

1
if (0 === strpos($structure, '%scategory%'))

and replace it with:

1
if (strpos($structure, '%scategory%') >= 0)
paul @
said on 2009-05-07 at 10.06 pm

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.

said on 2009-05-07 at 10.08 pm

Thank you for your report. This change will be integrated into the upcoming release, so update would not break anything.

Hikari @
said on 2009-05-08 at 2.40 am

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.

Hikari @
said on 2009-05-08 at 2.43 am

Another question, which plugin do you use for code formatting on comments?

I use WP-Syntax and it doesn’t work on comments…

said on 2009-05-08 at 11.09 am

I use my own plugin named CodeColorer for a while.

said on 2009-05-12 at 7.06 pm

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

said on 2009-05-18 at 8.53 pm

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.

said on 2009-05-19 at 1.09 pm

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.

said on 2009-05-19 at 6.22 pm

I just found out the permalink is stored in the meta field: _category_permalink which is relatively simplistic to draw out. Hooray!

paul @
said on 2009-05-22 at 8.54 am

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!

Post a comment

You can use simple HTML-formatting tags (like <a>, <ul> and others). To format your code sample use <code lang="php">$a = "hello";</code> (allowed languages are ruby, php, yaml, html, csharp, javascript). Also you could use <code>$a = "hello";</code> and its syntax would not be highlighted. If you are not using <code> tag, replace < sign with &lt;.

Submit Comment