6

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.

7

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

| improve this answer | |
  • That question was too easy for you. works like a charme! – wamps Aug 17 '13 at 14:25
  • It's subscribEr instead of subscribOr (see your code above) – wamps Aug 17 '13 at 14:27
  • true. Sorry for that I edit. – JMau Aug 17 '13 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. – Marcos Buarque Aug 8 '19 at 0:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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