I am new to Wordpress theming and I would like to set up a Website that only has static content. Therefore would it make sense to disable posts and only use static pages? If so, is there an easy way to do that?

5 Answers 5


You can simply hide the posts menu by adding the following to your functions.php file:

function remove_posts_menu() {
add_action('admin_menu', 'remove_posts_menu');

WordPress does not permit the disabling of the actual post type with the unregister_post_type() function. The condition is here: https://github.com/WordPress/wordpress-develop/blob/6.0/src/wp-includes/post.php#L1754

// Do not allow unregistering internal post types.
    if ( $post_type_object->_builtin ) {
        return new WP_Error( 'invalid_post_type', __( 'Unregistering a built-in post type is not allowed' ) );
  • This method will break the Media Gallery uploader as it too deals with "edit.php". Apr 11, 2016 at 12:53
  • 8
    @ben.kaminski This no longer appears to be the case, for anyone else arriving here several years later :) Feb 3, 2017 at 12:31
  • This solution is purely aesthetic and does not affect the database, so I don't think it is a good solution Aug 26, 2022 at 5:12
  • @MarcoPanichi There is ZERO way to do this in the database. Please instead, show a way and add your answer instead of hitting other people's reputation points without cause. I would appreciate it if you would retract the downvote for since your reasoning is not in line with how this works in WordPress. This answer has helped people for 11 years now. Aug 26, 2022 at 15:58
  • @BrianFegter your answer doesn't solve the problem because you are not disabling posts. People has the right of put a downvote on an answer if motivated. It is a downvote, not a death sentence. I don't like specially the fact that you are not explaining the situation; your answer could be confusing: "You can simply hide" != disabling post. I think that I could remove my down vote if you explain better that aspect. Could it be a good compromise? Aug 27, 2022 at 7:49

I would recommend you to leave the post only for the admin user... literally the "admin", and create another user to manage the page, so I case you need it in the future for scalability you can go back to it with your admin account.

Just add the following code to your functions.php

 function remove_menus () {
 global $menu;
 $user = wp_get_current_user();
 if ($user->ID!=1) { // Is not administrator,

    $restricted = array(__(__('Posts'));
    end ($menu);
    while (prev($menu)){
        $value = explode(' ',$menu[key($menu)][0]);
        if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
 add_action('admin_menu', 'remove_menus');

Have you thought about just renaming "Posts" to something like "News" ? So that the user (yourself or a client) could still post news, press releases, articles, etc. to prevent stagnant content on the site.

It's quite simple to do. Just pop this in your functions file.

function change_post_menu_label() {
    global $menu;
    global $submenu;

    $menu[5][0] = 'News';
    $submenu['edit.php'][5][0] = 'News';
    $submenu['edit.php'][10][0] = 'Add Article';
    $submenu['edit.php'][15][0] = 'News Categories'; // Change name for categories
    $submenu['edit.php'][16][0] = 'News Article Tags'; // Change name for tags

function change_post_object_label() {
    global $wp_post_types;

    $labels = &$wp_post_types['post']->labels;
    $labels->name = 'News';
    $labels->singular_name = 'News';
    $labels->add_new = 'Add Article';
    $labels->add_new_item = 'Add Article';
    $labels->edit_item = 'Edit Article';
    $labels->new_item = 'News Article';
    $labels->view_item = 'View Article';
    $labels->search_items = 'Search News';
    $labels->not_found = 'No Articles found';
    $labels->not_found_in_trash = 'No Articles found in Trash';
add_action( 'init', 'change_post_object_label' );
add_action( 'admin_menu', 'change_post_menu_label' );

And now you can have news that everyone can benefit from. Hope this helps!

  • oops .. thanks ungestaltbar .. actions kind of make the wheels go 'round
    – The Z Man
    Mar 2, 2012 at 2:36
  • 3
    I don't think that 'add a blog to a website because the functionality exists' is a very good answer to this question. Feb 3, 2017 at 12:19
  • I've done this, but now as an administrator I can't see the draft posts either. How can only I see? @ungestaltbar Sep 29, 2022 at 23:23

posts / page are essentially the same - they are only different by definition of usage (and other minute things) . more or less like "blog" and "website" . A page is actually a "kind" of post (as far as wp is concerned)

There are a ton of ways you can "disable" one or another . you can disable them by taxonomies, by hiding the menus, by not using one or another in the theme files...

but in order to know what is the best way , can you explain a bit more WHY you need to "disable" them ?

I suggest that before you start to "disable" things, install WP and start to play with it a bit - you will then understand much better.


Would it make sense to disable posts and only use static pages?

No. Unless you only want a small amount of pages.

I would use Posts as they are more flexible. You can disable specific features for posts which you don't want to use like comments and RSS feed etc but you'll find posts are better to use if you want to add content on a regular basis. Otherwise, yes, you can simply use static pages.

You'll find adding useful, relevant content on a regular basis will increase traffic to your site and increase your websites visibility on the internet.

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.