I'd like to remove the post title input on a (cpt) post edit page (backend) based on user's capabilities.

I have already found Stack Overflow question dealing the problem. However, the solution in involves editing the WordPress core files. I don't like it that way.

Is it possible to achieve the hiding (or removing) with a plugin? Currently I do not know or do not see how the plugin should hook into WordPress.

1 Answer 1


You can do this :

add_action('admin_init', 'wpse_110427_hide_title');
function wpse_110427_hide_title() {
 if (current_user_can('subscriber'))
     remove_post_type_support('post', 'title');


This would hide title for subscriber. Replace 'post' with your custom post type

  • That question was too easy for you. works like a charme!
    – wamps
    Commented Aug 17, 2013 at 14:25
  • It's subscribEr instead of subscribOr (see your code above)
    – wamps
    Commented Aug 17, 2013 at 14:27
  • true. Sorry for that I edit.
    – JMau
    Commented Aug 17, 2013 at 14:28
  • In Wordpress 5.x admin, the update button in admin displays as disabled when you remove the post title field with remove_post_type_support('post', 'title');. In my specific case, I also needed to remove the default editor for the post content. When doing remove_post_type_support($this->custom_post_type_name, 'editor');, the fancy (disabled) Wordpress admin update button was gone and an Update button displayed with a simpler design, to the right sode of the screen. This solution incidentally worked for me, but I don't know what I need to do if I want to remove the title only. Commented Aug 8, 2019 at 0:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.