Implementando um Clone CrunchBase.com usando WordPress?


20

Desejo criar algo como o CrunchBase.com com o WordPress.org (para ter um site que seja um "banco de dados" e outro que seja um blog que se conecte a ele).

É possível? e como?

Obrigado, Tal

Respostas:


31

@Tal Gailili : Absolutamente , o WordPress seria uma ótima plataforma para um clone do CrunchBase!

Usar tipo de postagem personalizada e taxonomias personalizadas

O que você quer ver são tipos de postagem personalizados e taxonomias personalizadas [veja esta resposta que eu dei sobre um assunto muito semelhante].

Código de exemplo para o tipo de postagem e taxonomias da sua empresa

Com o WordPress 3.0, você pode criar um companytipo de postagem personalizado e, em seguida, uma ou mais taxonomias personalizadas que se aplicam à empresa, como categoria, financiamento e status. Para inicializar seus esforços, aqui está o código, você pode soltar no functions.phparquivo do seu tema para começar:

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' ),
    )
);

Outros tipos de postagem que você pode desejar:

Se você realmente deseja clonar o CrunchBase, gostaria de criar tipos de postagem personalizados para cada um deles (embora eu ache que você queira algo semelhante, mas para um mercado diferente?):

  • Pessoas
  • Organizações Financeiras
  • Provedores de serviço
  • Rodadas de financiamento
  • Aquisições

Página de listagem da empresa

Para a página de listagem da sua empresa (como esta no CrunchBase), eu provavelmente criaria uma " Página " do WordPress chamada " Empresas " ( imagine isso! ) E depois usaria um plug-in de shortcode da lista de postagens como List Pages Shortcode (se você usar esse precisará fazer uma modificação de uma linha para oferecer suporte a tipos de postagem personalizados, como mostro aqui .)

Com esse plug-in e modificação, você pode adicionar o seguinte texto à sua página " Empresas " e listará todas as empresas em uma lista com marcadores da página, que pode ser estilizada com CSS:

[list-pages post_type="company"]

Layouts específicos da empresa

Em seguida, para um layout personalizado para cada empresa, você pode fazer uma cópia do arquivo de modelo de tema single.phpe nomeá-lo single-company.phpe fazer as modificações desejadas no layout.

Envios da empresa usuária

E se você deseja permitir que as pessoas enviem empresas, considere o uso do Gravity Forms ( não um link de afiliado; US $ 39 por licença de site e vale cada centavo).

Se você precisar de mais ...

Tenho mais certeza, mas isso proporcionará a você a maioria das funcionalidades básicas necessárias. Se precisar de mais, faça outra pergunta aqui no WordPress Answers!

Espero que isso tenha ajudado.


Uau - que resposta incrível!
Tal Galili

Vitória perfeita. Isso deve ser usado como um exemplo de como as respostas devem ser feitas aqui.
Callan

Oi @MikeSchinkel - Estou interessado em usar o Gravity Forms, mas ele permite que os usuários enviem empresas diretamente ao banco de dados do Wordpress para aprovação de um administrador ou seria o mesmo que criar um formulário que envie os dados para um endereço de e-mail? Estou procurando maneiras de otimizar o processo para os administradores adicionarem empresas. Obrigado pelo seu tempo, Osu
Osu

3

Não há razão para que isso não possa ser feito, usando tipos de postagem personalizados e o modelo apropriado para adequá-lo ... mas se é a maneira CERTA de fazer isso, é uma questão diferente.

O CrunchBase.com está fora do ar no momento, então não posso fazer uma avaliação adequada, mas pelo que me lembro, seria mais adequado ser um blog WordPress + plug-in personalizado para lidar com as entradas do banco de dados. como um plug-in de comércio eletrônico funciona para o WP. Mantenha o banco de dados de informações da empresa armazenado e gerenciado por meio de um plug-in, que também permite incorporar informações relevantes nas postagens do blog usando uma função do plug-in.


2

No entanto ... se você acha que usar outro banco de dados é mais fácil, porque você está sincronizando isso diariamente com outras fontes, já possui todo o código de relatórios, use esse banco de dados para muitas outras fontes, prepare-se para o futuro quando puder deseja usar esse banco de dados em outros projetos para sincronizar, está adicionando os dados de outro aplicativo, etc. O truque é alternar os bancos de dados:

//
// Connect to the other database
//
$mysql_link_edl = mysql_connect($db_host, $db_user, $db_pwd) or die (mysql_error() .        'Error connecting to mysql');
mysql_select_db($db_db, $mysql_link_edl) or die (mysql_error() . 'problem connecting with database');

faça as suas coisas, execute todas as consultas / arquivos php externos que geram relatórios, etc. e volte para o banco de dados do WP:

mysql_select_db(WPDB_DATABASE, $mysql_link_edl);
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.