Я хотел бы создать что-то вроде 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 « страница » под названием « Компании » ( представьте себе! ) , А затем использовать список сообщений SHORTCODE плагин как список страниц SHORTCODE (если вы используете , что тот , который вы нужно будет сделать однострочное изменение для поддержки пользовательских типов постов, как я покажу здесь .)
С этим плагином и модификацией вы можете добавить следующий текст на страницу « Компании », и он перечислит все компании в маркированном списке на этой странице, который вы можете стилизовать с помощью CSS:
[list-pages post_type="company"]
Затем для пользовательского макета для каждой компании вы можете сделать копию файла шаблона темы, single.php
назвать его single-company.php
и внести в него любые изменения, которые вы хотите внести в макет.
И если вы хотите, чтобы люди могли отправлять компании, рассмотрите возможность использования Gravity Forms (а не партнерской ссылки; 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);