Did you enter anything other than ‘post’ in Custom Post Type UI -> Manage Custom Post Types -> Edit (your custom type) -> Advanced Options -> Capability Type?
Note: If you entered something else, it will be saved in database but still show ‘post’ because of a bug in current version of Custom Post Type UI.
To inherit the rights of ‘post’, make sure that you enter ‘post’ there and save again.
All I have had in the field so far was ‘post’. I tried creating a new post under my ‘topic’ custom post type, but it still shows up as a draft in the users backend. I’m lost.
1. Is your user the owner of the ‘topic’ post?
2. How do you grant ‘ability to edit and publish posts’ rights to your contributors? With a plugin? Or with add_cap()?
1. The correct author’s name is being displayed for the post owner in the dashboard.
2. I am using the User Role Editor plugin from : http://www.shinephp.com/user-role-editor-wordpress-plugin/
Here is a cap of my contributor role permissions: http://i39.tinypic.com/16a6rls.png
The contributor role permissions look ok, it should work like this, but I am not familiar with how User Role Editor sets the permissions internally.
I have a similar setup on one of my sites, but I do not use a plugin for the roles, I have this in my functions.php and contributors can publish posts in my custom post types.
$role = get_role('contributor');
if ($role !== NULL) {
if (!$role->has_cap('upload_files')) $role->add_cap('upload_files');
if (!$role->has_cap('publish_posts')) $role->add_cap('publish_posts');
if (!$role->has_cap('edit_published_posts')) $role->add_cap('edit_published_posts');
}
I added the function to my functions.php file and disabled my roles plugin and Custom Post Types are still being saved as drafts upon creation. Any more ideas?
Note: If you re-enable the User Role Editor, don’t forget to delete the code in functions.php
As I wrote before, it could be some issue with the “Capability Type”, to check this, I would add another fresh custom post type, just for testing.
Or maybe you have some other plugin which causes the behaviour.
After all that, it ended up being the form plugin that was giving me problems. It’s not a bug or anything with the plugin, I just forgot to add a required field.
What is the emoticon for blushing? 🙂