WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to make a wordpress site for an organization (main) that has many departments. The requirements are

  1. There is only one website ( or maybe same theme for the main site and its department site)
  2. There are some categories such as news, events or other articles.
  3. If writer from department post a news, it has to appear on main site in news section.
  4. If writer from department post an event, it has to appear as well on main site but in event section.
  5. User can visit department site that only contains news and events about that department
  6. A Writer can post a news and event for main site that is not related to any departments.

I have considered to use Multisite but the challenge is I can't find any plugins to retrieve post from another site for specific category (news or event).

If I use a single wordpress, I have to think about how to display single page (I assume department is category or tag) with specific news and event widget that related to the department.

What is the best way in wordpress to achieve those requirements?

share|improve this question
Hi and welcome, your Question is too broad. Please read this: How to Ask, and also the FAQ. Close voting as not constructive. – brasofilo Nov 22 '12 at 15:33
Sorry if you think that it is too broad. I've done my best to explain the question very detailed. That's why I made six bullet list. Thanks. – bhoo-day Nov 23 '12 at 2:03
Sorry, I misinterpreted you question, answer provided. – brasofilo Nov 28 '12 at 2:07
No, I agree with the original statement, this question is too broad and open ended. I immediatley see the "How do I show posts from other sites in multisite?" question, and knowing that is vital pre-requisite research for what you're doing. You would be best either editing this question to match that or asking it separately – Tom J Nowell May 3 '13 at 9:09
Otherwise this question has no right or wrong answer, and as a result doesnt fit into the format of this site – Tom J Nowell May 3 '13 at 9:09

First, reasons for not using Multisite. And reasons to use it.

My guess is that you don't need it, and that all can be contained inside a single WordPress.

Each Department would have a Custom Post Type. And the Organization keeps the default Post post type.

All of them share the same categories (news, events, others).

When showing a Department, the Query is done over the CPT and the desired categories. Same for the Organization.

Then, you'll have to configure/adjust the theme and use the Template Hierarchy to display the main posts and the custom post types accordingly.

Case many Writers are involved, an extra touch is making custom roles and capabilities. So, each Writer of each Department can only access the correspondent CPT.

Plugins of interest:

share|improve this answer

Wouldn't suggest Multisite because you just don't need it.

I'd suggest custom post types with custom taxonomy type support so you can create categories for each CPT.

Rather than use a Widget Logic plugin, i would use a custom sidebars plugin so all the sidebar content is related to one specific article type.

WordPress enables you to assign roles to different users when you register them which you can control further with capabilities, if needed, using a plugin like members or you can code this by hand.

Here's the code i would use to create the CPT's and add taxonomy type support.

add_action( 'init', 'create_cpt_taxonomy_types' );
function create_cpt_taxonomy_types() {

register_taxonomy( 'article-type', 'news',
        'labels' => array(
            'name'          => _x( 'Taxonomy Types', 'taxonomy general name', 'theme' ),
            'add_new_item'  => __( 'Add New Taxonomy Type', 'theme' ),
            'new_item_name' => __( 'New Taxonomy Type', 'theme' ),
        'exclude_from_search' => true,
        'has_archive'         => true,
        'hierarchical'        => true,
        'rewrite'             => array( 'slug' => 'article-type', 'with_front' => false ),
        'show_ui'             => true,
        'show_tagcloud'       => false,


add_action( 'init', 'add_custom_post_type' );
function add_custom_post_type() {

register_post_type( 'news',
        'labels' => array(
            'name'          => __( 'News', 'theme' ),
            'singular_name' => __( 'News', 'theme' ),
        'has_archive'  => true,
        'hierarchical' => true,
        'menu_icon'    => 'dashicons-welcome-write-blog',
        'public'       => true,
        'rewrite'      => array( 'news' => 'article', 'with_front' => false ),
        'supports'     => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'revisions', 'page-attributes' ),
        'taxonomies'   => array( 'article-type' ),



I tested the code on the Twenty Twelve theme however it will work on any theme after you paste it into your functions file and re-save your Permalinks.

I'd only use 2 plugins if you want to control the capabilities of different users in your organization and for assigning custom sidebars.

If you prefer not to code your CPT, you can use a plugin.

You will need to create templates for archive-cpt.php, taxonomy-cpt.php and single-cpt.php if you want to make these different to the standard pages WordPress generates so its not essential.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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