Vous implémentez un clone CrunchBase.com à l'aide de WordPress?

20

Je souhaite créer quelque chose comme CrunchBase.com avec WordPress.org (Donc, pour avoir un site Web qui est une "base de données", et un autre, qui est un blog, qui s'y connecte).

C'est possible? et comment?

Merci, Tal

Tal Galili
la source

Réponses:

31

@Tal Gailili : Absolument , WordPress serait une excellente plate-forme pour un clone CrunchBase!

Utiliser un type de publication personnalisé et des taxonomies personnalisées

Ce que vous voulez regarder, ce sont les types de messages personnalisés et les taxonomies personnalisées [voir cette réponse que j'ai donnée sur un sujet très similaire].

Exemple de code pour le type de poste et les taxonomies de votre entreprise

Avec WordPress 3.0, vous pouvez créer un companytype de publication personnalisé, puis une ou plusieurs taxonomies personnalisées qui s'appliquent à l'entreprise, telles que la catégorie, le financement et le statut. Pour démarrer vos efforts, voici le code que vous pouvez déposer dans le functions.phpfichier de votre thème pour commencer:

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

Autres types de messages que vous pourriez souhaiter:

Si vous voulez vraiment cloner CrunchBase, vous voudriez créer des types de messages personnalisés pour chacun d'eux (bien que je suppose que vous voulez quelque chose de similaire mais pour un marché différent?):

  • Gens
  • Organisations financières
  • Les fournisseurs de services
  • Tours de financement
  • Acquisitions

Page de cotation de la société

Pour la page de liste de votre entreprise (comme celle-ci sur CrunchBase), je créerais probablement une « page » WordPress appelée « sociétés » ( imaginez cela! ), Puis utiliser un plugin de shortcode de liste de publication comme List Pages Shortcode (si vous utilisez celui-ci, vous devra effectuer une modification sur une ligne pour prendre en charge les types de publication personnalisés comme je le montre ici .)

Avec ce plugin et cette modification, vous pouvez ajouter le texte suivant à votre page " Sociétés " et il répertoriera toutes les sociétés dans une liste à puces sur cette page que vous pouvez styliser avec CSS:

[list-pages post_type="company"]

Dispositions spécifiques à l'entreprise

Ensuite, pour une mise en page personnalisée pour chaque entreprise, vous pouvez faire une copie du fichier de modèle de thème single.phpet le nommer single-company.phpet y apporter les modifications que vous souhaitez.

Soumissions de la société utilisateur

Et si vous voulez laisser les gens soumettre des entreprises, envisagez d'utiliser Gravity Forms ( pas un lien d'affiliation; 39 $ US par licence de site et vaut chaque centime.)

Si vous avez besoin de plus ...

Il y a plus, je suis sûr, mais cela vous donnera la plupart des fonctionnalités de base dont vous avez besoin. Si vous en avez besoin de plus, posez une autre question ici sur WordPress Answers!

J'espère que cela vous a aidé.

MikeSchinkel
la source
Wow - quelle réponse incroyable!
Tal Galili
Une victoire sans faille. Cela devrait être utilisé comme un exemple de la façon dont les réponses doivent être faites ici.
Callan
Salut @MikeSchinkel - Je suis intéressé par l'utilisation de Gravity Forms, mais cela permet-il aux utilisateurs de soumettre des entreprises directement dans la base de données de Wordpress pour approbation par un administrateur, ou serait-ce la même chose que de créer un formulaire qui envoie les données à une adresse e-mail? J'examine les moyens de rationaliser le processus pour que les administrateurs ajoutent des sociétés. Merci pour votre temps, Osu
Osu
3

Il n'y a aucune raison que cela ne puisse pas être fait, en utilisant des types de messages personnalisés et les modèles appropriés pour l'adapter ... mais que ce soit la BONNE façon de le faire, c'est une autre affaire.

CrunchBase.com est en panne pour le moment, donc je ne peux pas faire une évaluation correcte, mais d'après ce dont je me souviens, il serait mieux adapté à être un blog WordPress + un plugin personnalisé pour gérer les entrées de la base de données, en quelque sorte comme comment un plugin e-Commerce fonctionne pour WP. Gardez la base de données d'informations sur l'entreprise stockée et gérée via un plugin, qui vous permet également d'intégrer des informations pertinentes dans les articles de blog en utilisant une fonction du plugin.

Callan
la source
2

Cependant ... si vous pensez que l'utilisation d'une autre base de données est plus facile parce que vous synchronisez par exemple ceci quotidiennement avec d'autres sources, avez déjà tout le code de rapport, utilisez cette base de données pour beaucoup d'autres sources, préparez-vous à l'avenir quand vous le pourrez voulez utiliser cette base de données dans d'autres projets pour synchroniser, ajoutez les données d'une autre application, etc. L'astuce consiste à changer de base de données:

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

puis faites votre travail, exécutez toutes les requêtes / fichiers php externes générant des rapports, etc. puis revenez à la base de données WP:

mysql_select_db(WPDB_DATABASE, $mysql_link_edl);
edelwater
la source