Answers:
@Tal Gailili: 当然,WordPress的将是一个CrunchBase克隆一个很好的平台!
您要查看的是“ 自定义帖子类型”和“ 自定义分类法”(请参阅我在非常相似的主题上给出的答案)。
使用WordPress 3.0,您可以创建company
自定义帖子类型,然后创建一个或多个适用于公司的自定义分类法,例如类别,资金和状态。为了引导您的工作,这里提供了代码,您可以进入主题functions.php
文件开始学习:
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' ),
)
);
如果您真的想克隆CrunchBase,则需要为每种类型创建自定义帖子类型(尽管我想您想要类似的内容但针对不同的市场?):
对于您公司的列表页面(如CrunchBase上的该页面),我可能会创建一个名为“ Companies ” 的WordPress“ Page ”(想象一下!),然后使用诸如List Pages Shortcode之类的帖子列表短代码插件(如果您使用该页面,将需要进行单行修改以支持自定义帖子类型,如我在此处所示。)
通过该插件和修改,您可以将以下文本添加到“ 公司 ”页面,它将在该项目符号列表中列出所有公司,您可以使用CSS设置样式:
[list-pages post_type="company"]
然后,对于每个公司的自定义布局,您都可以复制主题模板文件single.php
并为其命名,single-company.php
并对布局进行所需的任何修改。
而且,如果您想让人们提交公司,请考虑使用Gravity Forms(不是联属网络营销链接;每个站点许可证39美元,每一分钱都值得)。
我敢肯定还有更多,但这将为您提供所需的大部分基本功能。如果您需要更多,请在WordPress问答上问另一个问题!
希望这会有所帮助。
但是.....如果您认为使用另一个数据库比较容易,因为例如您正在与其他来源进行日常同步,已经拥有所有报告代码,请将该数据库用于许多其他来源,并在可能的情况下为将来做准备想要在其他项目中使用此数据库进行同步,是否正在从其他应用程序添加数据,等等。...诀窍是切换数据库:
//
// 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');
然后做您的工作,运行所有查询/生成报告的外部php文件等。然后切换回WP数据库:
mysql_select_db(WPDB_DATABASE, $mysql_link_edl);