Using WordPress as a Company Intranet

planning a WordPress Intranet

WordPress can be a great choice as a company / staff Intranet, but it’s important to first define what features you need. Then to either code the features or choose plugins to use / customise.

Being a programmer, I think WordPress is an excellent intranet choice, the WordPress API allows you to customise things to how you want.

In this article I’ll later discuss some useful plugins for some of the main features.

Common features of a staff intranet

There are many possible features an Intranet website can have, these are probably the ones that nearly all Intranets will need.

  • Company news
  • Knowledge base / Document management System
  • Staff Directory and Profiles

Other features a company Intranet may need:

  • Forms ( online / downloadable printable forms )
  • Staff Events Calendar
  • Blog/s
  • HR section (policies and the like )
  • Social network features (such as groups, group threads, user to user messaging )
  • WordPress integration with Microsoft Active Directory (if you choose WordPress and your on a windows network)

Look and feel and navigation

This is down to preference, but some things to consider are:

  • Company branding
  • A good homepage will have latest news prominently displayed.
  • Good navigation and Search feature to allow staff to navigate to the things that important to them.

 

How to achieve the main Intranet features with WordPress

 

Document Management

WordPress has basic document management built into it as standard through the media library, which for many organisations will do what you need.

For basic Document Management on an Intranet you need to ability to:

  • Upload a file and store it
  • Generate a link to the file that can be used anywhere on the Intranet (allowing easy access)

Once you have this functionality you can create pages and put the documents on the pages, eg you might have a HR (Human Resources) section that has a policy documents page (just add the links to the page). Go to the file in the media library and get the link like in the image below:

If you want to go further, an example might be wanting to have review dates for documents. So you can guarantee that policies and training documents etc are upto date, then a good starting point is the WP Document Revisions Plugin (you’ll need to customise it alittle for review date functionality):

https://wordpress.org/plugins/wp-document-revisions/

Company News

The blog feature of WordPress can be used for posting articles on any topic. If you want to create a company news section, a simple way is to create a category type of ‘company news’ and then add this to any post you want to have in the company news section.

E.g if I wanted a Javascript posts section on my website I could create ‘javascript’ category and then all the javascript posts are on this page: http://green-box.co.uk/category/javascript/ ( so long as i tag each post with that category ).

You probably want this also on your homepage, todo this alter the template for the homepage and drop in something like below or use a widget if you have widget areas and don’t want to touch any code https://en-gb.wordpress.org/plugins/category-posts/ .

<?php global $more;

$cat = array(24); // id of category you want to display
       $args=array(
            'category__in' => $cat, 
            'orderby' => 'post_date',
           'order' => 'DESC',
           'posts_per_page' => 5,
           'paged'=>get_query_var('paged')
           );    
    
$my_query = new WP_Query($args);

?>

<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
        <hr/>
        <div <?php post_class(); ?>>
            <h3 class="entry-title"><p align="left"><a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php printf(__('Permanent Link to %s', 'gpp_i18n'), the_title_attribute('echo=0')); ?>"><?php the_title(); ?></a></h3></p><br>
            <div class="entry">
    <?php global $more;
    $more = 0;
    the_content(); ?>
        <?php wp_link_pages(array('before' => '<div class="page-link">' . __('Pages:', 'gpp_i18n'), 'after' => '</div>')); ?>
            </div><div class="clear"></div>
        </div><div class="clear"></div>
        <p class="postmetadata"><?php the_time(__('M d, Y', 'gpp_i18n')); ?> by <a href="/?author=<?php the_author_ID(); ?>"><?php the_author_nickname(); ?></a> | <?php _e('Categories: ', 'gpp_i18n');
        if (the_category(', ')) the_category(); ?> <?php if (get_the_tags()) the_tags(__('| Tags: ', 'gpp_i18n')); ?> </p>
        
<?php endwhile; ?>

Staff Directory and Profiles

There are many plugins for creating staff directories, this depends on your needs. A straightforward one is Ultimate member:

https://wordpress.org/plugins/ultimate-member/

Another good one (with lots of features), is Buddypress. This one might be overkill if you want basic staff directory. It has member features for creating a social network – such as groups, member to member messaging and so on.

https://en-gb.wordpress.org/plugins/buddypress/

Conclusion

I hope this gives you some insight in creating an Intranet with WordPress. Although I’ve only touched on some of the basic features here.

If you’re planning an Intranet or would just like to know more, enter your email below to receive my free pdf which goes into much more depth on creating some other features that you might find useful things like:

  • being able to easily create forms
  • integrating WordPress with Microsoft Active Directory

If you’d like my free PDF on Intranet Development with WordPress please enter your email below:

please email me on info@green-box.co.uk

 

Leave a Comment