Я хочу створити щось на зразок CrunchBase.com з WordPress.org (Отже, мати один веб-сайт, який є "базою даних", та інший, що є блогом, який підключається до нього).
Це можливо? і як?
Спасибі, Тал
Я хочу створити щось на зразок CrunchBase.com з WordPress.org (Отже, мати один веб-сайт, який є "базою даних", та інший, що є блогом, який підключається до нього).
Це можливо? і як?
Спасибі, Тал
Відповіді:
@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 " Сторінку " під назвою " Компанії " ( уявіть це! ), А потім використаю плагін зі списком повідомлень для короткого коду, як " Список сторінок" Код код (якщо ви використовуєте цей потрібно буде внести однорядкові зміни, щоб підтримувати типи спеціальних повідомлень, як я показую тут .)
За допомогою цього плагіна та модифікації ви можете додати наступний текст на свою сторінку " Компанії ", і він перелічить усі компанії у списку, що відображається на цій сторінці, який ви можете стилювати за допомогою CSS:
[list-pages post_type="company"]
Тоді для користувальницького макета для кожної компанії ви можете зробити копію файлу шаблону теми single.php
та назвати його single-company.php
та внести будь-які зміни, які ви хочете там.
І якщо ви хочете дозволити людям, які подають заявки, можуть скористатися гравітаційними формами ( не афілійованим посиланням; 39 доларів США за ліцензію на сайт і коштує кожна копійка.)
У цьому я впевнений, але ви отримаєте більшість основних функціональних можливостей. Якщо вам потрібно більше, задайте тут ще одне запитання щодо відповідей WordPress!
Сподіваюся, що це допомогло.
Немає причин цього не зробити, використовуючи власні типи публікацій та відповідні шаблони, щоб зробити це підходящим ... але це ПРАВИЛЬНИЙ спосіб зробити це - інша справа.
На даний момент CrunchBase.com не працює, тому я не можу зробити належну оцінку, але з того, що я пам’ятаю про це, краще підійде блог WordPress + користувацький плагін для обробки записів у базі даних, начебто подобається як працює плагін електронної комерції для WP. Зберігайте базу даних про компанію, що зберігається та керується за допомогою плагіна, що також дозволяє вбудовувати відповідну інформацію в дописи блогу за допомогою функції із плагіна.
Однак ..... якщо ви думаєте, що використовувати іншу базу даних простіше, тому що ви, наприклад, синхронізуєте це щодня з іншими джерелами, у вас уже є весь код звітування, використовуйте цю базу даних для багатьох інших джерел, підготуйтеся до майбутнього, коли ви можете Ви хочете використовувати цю базу даних в інших проектах для синхронізації, додаєте дані з іншого додатку тощо. Прихильність полягає в переключенні баз даних:
//
// 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);