I’ve been looking for this all day and can’t find it.

I’m working on a custom contacts page and I am using the custom post type feature so that I can have more control over it. I’m looking to change the edit page to be a custom template, (example when I go to /wp-admin/post.php?post=1234&action=edit), I want it to show a custom page. I don’t need any meta boxes or anything. Perhaps the editor, but near the bottom of the page (not at the default top).

I’ve found how to remove the meta boxes, but I haven’t found how to get a clean slate on the CPT edit page.

function remove_metaboxes(){
    remove_meta_box('postexcerpt', 'obpcontacts', 'normal'); // Excerpt box
    remove_meta_box('commentstatusdiv', 'obpcontacts', 'normal'); // Comment status box
    remove_meta_box('commentsdiv', 'obpcontacts', 'normal'); // Comment box
}
add_action( 'add_meta_boxes', 'remove_metaboxes',11 );

Thoughts on how to create a custom template in the wp-admin edit section for my custom post type?

2 s
2

As far as I know you can remove almost everything except the title h2 tag, and the .postbox-container border. Also note that the #message is not visible by default but can pop up depending on what you do.

When you register your CPT set supports to an empty array.

'supports' => array ('')

Then you can use the following to unset the publish and slug (the slug in not visible by default but it is there under screen options),

function remove_metaboxes(){
    remove_meta_box('slugdiv', 'obpcontacts', 'normal'); // Slug
    remove_meta_box('submitdiv', 'obpcontacts', 'side'); // Publish box
}
add_action( 'add_meta_boxes', 'remove_metaboxes', 11 );

You will be left with a few elements that might need to be removed with javascript:

//jQuery enqueue only on your CPT
.removeClass("wrap");  //remove all CSS

Leave a Reply

Your email address will not be published. Required fields are marked *