Implementing a CrunchBase.com Clone using WordPress?

@Tal Gailili: Absolutely, WordPress would be a great platform for a CrunchBase clone!

Use Custom Post Type and Custom Taxonomies

What you want to look at are Custom Post Types and Custom Taxonomies [see this answer I gave on a very similar subject].

Example Code for your Company’s Post Type and Taxonomies

With WordPress 3.0 you can create a company custom post type and then one or more custom taxonomies that apply to the company such as category, funding and status. To bootstrap your efforts here’s code you can drop in to your theme’s functions.php file to get your started:

register_post_type('company',
    array(
        'label'           => __('Companies'),
        'public'          => true,
        'show_ui'         => true,
        'query_var'       => 'company',
        'rewrite'         => array('slug' => 'companies'),
        'hierarchical'    => true,
        'supports'        => array(
            'title',
            'page-attributes',
            'excerpts',
            'thumbnail',
            'custom-fields',
            'editor',
            ),
        )
);

register_taxonomy('company-category', 'company', array(
    'hierarchical'    => true,
    'label'           => __('Categories'),
    'query_var'       => 'company-category',
    'rewrite'         => array('slug' => 'categories' ),
    )
);

register_taxonomy('company-status', 'company', array(
    'hierarchical'    => true,
    'label'           => __('Status'),
    'query_var'       => 'company-status',
    'rewrite'         => array('slug' => 'status' ),
    )
);

register_taxonomy('company-funding', 'company', array(
    'hierarchical'    => true,
    'label'           => __('Funding'),
    'query_var'       => 'company-funding',
    'rewrite'         => array('slug' => 'funding' ),
    )
);

Other Post Types you might want:

If you really want to clone CrunchBase you’d be wanting to create custom post types for each of these (though I’m guess you want something similar but for a different market?):

  • People
  • Financial Organizations
  • Service Providers
  • Funding Rounds
  • Acquisitions

Company Listing Page

For your company’s listing page (like this one on CrunchBase) I’d probably create a WordPress “Page” called “Companies” (imagine that!) and then use a post list shortcode plugin like List Pages Shortcode (if you use that one you will need to make a one-line modification to support Custom Post Types like I show here.)

With that plugin and modification you can add the following text to your “Companies” Page and it will list out all the companies in a bulleted list on that page which you can style with CSS:

[list-pages post_type="company"]

Company Specific Layouts

Then for a custom layout for each company you can make a copy of the theme template file single.php and name it single-company.php and make whatever modifications you want to the layout there.

User Company Submissions

And if you want to let people submit companies consider using Gravity Forms (not an affiliate link; US$39 per site license and worth every penny.)

If you need more…

There’s more I’m sure but that will get you most of the basic functionality you need. If you need more, ask another question here on WordPress Answers!

Hope this helped.

Leave a Comment