Subscribe to
NSLog(); Header Image

MT Request: Forced Categories

I'd like to make a feature request for MovableType. I'd like it to force me1 me to choose a category. In other words, if I attempt to publish a non-categorized entry, it'd show some of that red text and say "Pick a category, foo!" Alternatively, I'd like to be able to search for all entries that are "Unfiled" so that I can assign them a category.

I like keeping my categories organized, for my own use and the use of others (I might choose to offer category-specific RSS feeds, for example). An entry that's not categorized would effectively vanish into the ether. Re: the search, there's currently no way to show "no category" posts other than looking at the entire list of posts, scanning for holes in the "Category" column.

1 Whether or not I'd be "forced" could be a preference I'd enable/disable.

11 Responses to "MT Request: Forced Categories"

  1. I wouldn't mind an ability to enable trackbacks on all old posts without trackback turned on.

  2. Yeah that's a great idea. I hate when I forget to put a post in a category.

    Etan, that's also a very good idea.

  3. Absolutely agree!


  4. I definitely agree, especially since I run a group blog and half of the people who post always forget to use the categories.

  5. This is actually pretty simple, if you don't mind hacking your Movable Type installation.

    Add this to MT/App/, in the save_entry function, somewhere below "$obj->set_values(\%values);" and "$obj->save". With the stock MT 2.63, try right after line 1693:

    if ($obj->status == MT::Entry::RELEASE() && !$obj->category) {

    return $app->error("Pick a category, foo!");


    Etan: One cool thing you can do with Movable Type is use the MT libraries from any Perl script, not just the CGI scripts. So you can just stick this in a file and execute it from your MT directory (untested):


    use MT;

    use MT::Entry;

    my $mt = new MT;

    my @entries = MT::Entry->load;

    foreach my $entry (@entries) {

    unless ($entry->allow_pings) {





  6. I'd like to see a lot of fields be able to be toggled as required. For example I always put keywords in each post because my related Google items macro drives off the keywords instead of the title.

  7. Alexel, any chance you could email me so we can work on getting that script to work?

    I am getting a few perl errors when I run it...

  8. I forgot my email:

  9. Enable Trackback Pings on Older Posts

    Yesterday Erik was looking for a hack for MT to force categories on posts. I mentioned that I was looking for a way to enable trackback pings on all my old posts, and Alexei Kosut came to the rescue. Read on for the script Alexei wrote, that enabled me...

  10. If you're doing what I'm doing, which is back it with PostgreSQL, you can use a simple SQL statement:

    UPDATE mt_entry SET entry_allow_pings = 1

    WHERE blog_id = blog_id

    That is the one nice thing about using an SQL backend.

  11. Some features I'd like to see in Movable Type

    Select All check box functionalityWhen you're in edit entries mode, it'd be handy to be able to check all the