Je souhaite créer quelque chose comme CrunchBase.com avec WordPress.org (afin d'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 Gailili : absolument, WordPress serait une excellente plate-forme pour un clone de CrunchBase!
Ce que vous voulez regarder, ce sont Types de messages personnalisés _ et Taxonomies personnalisées [voir cette réponse j'ai donné sur un sujet très similaire].
Avec WordPress 3.0, vous pouvez créer un type d'article company
personnalisé, puis une ou plusieurs taxonomies personnalisées s'appliquant à l'entreprise, telles que la catégorie, le financement et le statut. Pour amorcer vos efforts, voici du code que vous pouvez insérer dans le fichier functions.php
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' ),
)
);
Si vous voulez vraiment cloner CrunchBase, vous voudriez créer des types de publication personnalisés pour chacun de ces éléments (bien que je suppose que vous voulez quelque chose de similaire mais pour un marché différent?):
Pour la fiche de votre entreprise (comme celle-ci sur CrunchBase), je créerais probablement un WordPress " Page " appelé "Entreprises" (imaginez cela!) et utilisez ensuite un plugin de shortcode de liste de messages comme List Pages Shortcode (si vous utilisez celui-ci, vous devrez modifier une ligne pour prendre en charge les types de messages personnalisés comme je le montre ici .)
Avec ce plugin et cette modification, vous pouvez ajouter le texte suivant à votre page "Entreprises}" et une liste de toutes les entreprises figurant dans une liste à puces de cette page que vous pourrez styler avec CSS:
[list-pages post_type="company"]
Ensuite, pour une mise en page personnalisée pour chaque entreprise, vous pouvez copier le fichier de modèle de thème single.php
et le nommer single-company.php
, puis apporter les modifications souhaitées à la mise en page.
Et si vous voulez laisser les gens soumettre, les entreprises envisagent d’utiliser Gravity Forms (pas _ un lien d’affiliation; 39 US $ par licence de site et une valeur de chaque centime.)
Il y en a plus, j'en suis sûr, mais cela vous apportera la plupart des fonctionnalités de base dont vous avez besoin. Si vous avez besoin de plus, posez une autre question ici sur WordPress Answers!
J'espère que cela a aidé.
Il n'y a aucune raison pour que cela ne soit pas possible, en utilisant des types de publication personnalisés et des modèles appropriés pour l'adapter ... mais la question de savoir si c'est la bonne façon de procéder est différente.
CrunchBase.com est en panne pour le moment, donc je ne peux pas faire une évaluation correcte, mais de ce que je m'en souvienne, il serait plus approprié d'être un blog WordPress + un plugin personnalisé pour gérer les entrées de base de données, comme si comment fonctionne un plugin e-commerce pour WP. Conservez la base de données d'informations sur la société stockée et gérée via un plug-in, ce qui vous permet également d'intégrer des informations pertinentes dans des articles de blog à l'aide d'une fonction du plug-in.
Toutefois, si vous pensez que l’utilisation d’une autre base de données est plus facile, par exemple. synchroniser ce quotidien avec d'autres sources, avoir déjà tout le code de rapport, utiliser cette base de données pour de nombreuses autres sources, préparer l'avenir lorsque vous voudrez peut-être utiliser cette base de données dans d'autres projets à 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');
ensuite, faites votre travail, lancez 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);