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?


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');
| improve this answer | |
  • This method will break the Media Gallery uploader as it too deals with "edit.php". – ben.kaminski Apr 11 '16 at 12:53
  • 7
    @ben.kaminski This no longer appears to be the case, for anyone else arriving here several years later :) – Nathan Hornby Feb 3 '17 at 12:31

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');
| improve this answer | |

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!

| improve this answer | |
  • oops .. thanks ungestaltbar .. actions kind of make the wheels go 'round – The Z Man Mar 2 '12 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. – Nathan Hornby Feb 3 '17 at 12:19

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.

| improve this answer | |

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.

| improve this answer | |

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.