Реализация клона CrunchBase.com с использованием WordPress?


20

Я хотел бы создать что-то вроде CrunchBase.com с WordPress.org (так, чтобы иметь один веб-сайт, который является «базой данных», и другой, который является блогом, который подключается к нему).

Является ли это возможным? и как?

Спасибо тал

Ответы:


31

@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) Я бы , вероятно , создать WordPress « страница » под названием « Компании » ( представьте себе! ) , А затем использовать список сообщений SHORTCODE плагин как список страниц SHORTCODE (если вы используете , что тот , который вы нужно будет сделать однострочное изменение для поддержки пользовательских типов постов, как я покажу здесь .)

С этим плагином и модификацией вы можете добавить следующий текст на страницу « Компании », и он перечислит все компании в маркированном списке на этой странице, который вы можете стилизовать с помощью CSS:

[list-pages post_type="company"]

Специфические макеты компании

Затем для пользовательского макета для каждой компании вы можете сделать копию файла шаблона темы, single.phpназвать его single-company.phpи внести в него любые изменения, которые вы хотите внести в макет.

Пользователь Компания Представления

И если вы хотите, чтобы люди могли отправлять компании, рассмотрите возможность использования Gravity Formsне партнерской ссылки; 39 долларов США за лицензию на сайт и стоит каждого пенни).

Если вам нужно больше ...

Я уверен, что есть еще кое-что, но это даст вам основную функциональность, которая вам нужна. Если вам нужно больше, задайте еще один вопрос здесь, на WordPress Ответы!

Надеюсь, это помогло.


Ух ты - какой удивительный ответ!
Тал Галили

Безупречная победа. Это следует использовать в качестве примера того, как ответы должны быть сделаны здесь.
Каллан

Привет @MikeSchinkel - я заинтересован в использовании Gravity Forms, но позволяет ли он пользователям отправлять компании непосредственно в базу данных Wordpress для одобрения администратором, или это все равно, что просто создавать форму, которая отправляет данные на адрес электронной почты? Я ищу способы упростить процесс для администраторов, чтобы добавить компании. Спасибо за ваше время, Осу
Осу

3

Нет причин, по которым это невозможно сделать, используя пользовательские типы записей и соответствующие шаблоны, чтобы сделать его подходящим ... но является ли это ПРАВИЛЬНЫМ способом сделать это, это другой вопрос.

CrunchBase.com в данный момент недоступен, поэтому я не могу сделать правильную оценку, но из того, что я помню, было бы лучше использовать блог WordPress + пользовательский плагин для обработки записей в базе данных, вроде как как плагин электронной коммерции работает для WP. Храните базу данных о компании, которая хранится и управляется с помощью плагина, который также позволяет встраивать соответствующую информацию в сообщения блога с помощью функции из плагина.


2

Однако ..... если вы думаете, что использовать другую базу данных проще, потому что вы, например, синхронизируете ее ежедневно с другими источниками, уже имеете весь код отчетности, используйте эту базу данных для множества других источников, подготовьтесь к будущему, когда вы можете хотите использовать эту базу данных в других проектах для синхронизации, добавления данных из другого приложения и т. д. Хитрость заключается в переключении баз данных:

//
// 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);
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.