• Resolved Deni

    (@dennis_f)


    Hi All,

    In a theme I have created several months ago I have created a custom post type called “Portfolio” and now I am having problems with this with the 3.1 RC3.

    Now on some places within the theme this post type is not recognized as a valid post type, for example when adding new meta boxes to the post:

    add_meta_box( 'new-meta-post-boxes', 'Additional Settings', 'new_meta_post_boxes', 'Portfolio', 'normal', 'high' );

    the code above works fine with the previous versions, but with this version I have to insert ‘portfolio’ instead of ‘Portfolio’.

    I realize now that partly this might be my mistake, maybe because I got a bit confused of the documentation:

    $post_type
    (string) (required) Post type. (max. 20 characters)
    Default: None

    saying that the default post type is “None” with an uppercase letter.

    However the theme I have created is already used by lots of users and an update to the version 3.1 will break some of the theme functionality.
    Therefore I will be happy if this problem doesn’t exist in the 3.1 version or maybe if someone suggest a code change that can be done on one place only, rather having to edit the theme on all the places “Portfolio” is used.

    Thank you

Viewing 6 replies - 16 through 21 (of 21 total)
  • Thanks so much for this post! I just upgraded to 3.1 and was scratching my head about why get_permalink() was returning the wrong permalinks for my custom post type posts and custom posts were 404’ing even with pretty permalinks disabled. A secondary symptom was that only the View link was available in the dashboard for those posts, no Edit links. It turned out to be the single uppercase letter I had in the $post_type name. I’d never noticed this requirement before, as everything had been working perfectly fine in WP 3.0.5 and below.

    Changing $post_type to lowercase and running the SQL cited above by @dennis_f fixed all of the issues I was having.

    Looks like the Codex was updated just yesterday to make note about the lowercase requirement for $post_type: https://codex.www.ads-software.com/Function_Reference/register_post_type

    This is partially related to this thread. I used @dennis_f’s code above and it did help me fix the uppercase problem. Thanks Dennis!

    But I ran into an additional problem with permalinks afterwards where all my custom post type single views would return 404 errors.

    I realized afterwards that I had named a page and a post-type the same name, and the permalinks were getting confused as to which was which. So all my custom post type single views were broken. I had to rename my custom post type name in order to get them to work with custom permalinks.

    Ideally, it would be nice to be able to have a page and a custom post type of the same name so that the permalinks would be consistent. For example, I want to make a “Services” page and query custom post type “services” within it. That would allow a seamless slug between my page and my custom post type single views. It used to work, but now, it confuses the permalinks.

    I also came across this thread, “Permalinks 404 with custom post type.” that might be useful for some.

    It’s important to note that you CANNOT have a page and post type of the same name. The above thread talks about this and some other solutions. Hope that is helpful as well.

    This just gave me a heart attack.

    dennis_f THANKS!

    Just a note your above code for the DB does not work if there is more than one registered post type since it’s a conditional, I had to go into the DB and change it manually.

    Also custom permalinks are now broken, only the default works, anyone know a possible solution?

    I also had the same situation (multiple custom post types). To fix this, I modified it like so:

    if(!get_option(‘custom_type2_updated’)){
    global $wpdb;
    $wpdb->query(“UPDATE $wpdb->posts SET post_type = ‘portfolio’ WHERE post_type = ‘Portfolio'”);
    update_option(‘custom_type2_updated’,’true’);
    }

    You could make that option whatever you wanted, that just seemed to me the quickest way to change it for the second type.

    Thanks to those of you who made finding this solution relatively painless.

    I had a site with custom post types turn into a mess following an upgrade to WordPress 3.1. I have written a post about how I fixed the invalid post type issues I was having.

    astronautdesigns.com/2011/03/wordpress-3-1-upgrade-invalid-post-type-error/

Viewing 6 replies - 16 through 21 (of 21 total)
  • The topic ‘3.1 RC3: Uppercase custom post type problems’ is closed to new replies.