Chciałbym stworzyć coś takiego jak CrunchBase.com z WordPress.org (aby mieć jedną stronę internetową, która jest „bazą danych”, a drugą, która jest blogiem, który się z nią łączy).
Czy to możliwe? i jak?
Dzięki, Tal
Chciałbym stworzyć coś takiego jak CrunchBase.com z WordPress.org (aby mieć jedną stronę internetową, która jest „bazą danych”, a drugą, która jest blogiem, który się z nią łączy).
Czy to możliwe? i jak?
Dzięki, Tal
Odpowiedzi:
@Tal Gailili : Oczywiście , WordPress byłby świetną platformą dla klona CrunchBase!
To, na co chcesz spojrzeć, to niestandardowe typy postów i niestandardowe taksonomie [patrz odpowiedź, którą podałem na bardzo podobny temat].
Za pomocą WordPress 3.0 możesz utworzyć company
niestandardowy typ postu, a następnie jedną lub więcej niestandardowych taksonomii, które mają zastosowanie do firmy, takich jak kategoria, finansowanie i status. Aby bootstrapować swoje wysiłki, oto kod, który możesz wpisać do functions.php
pliku motywu, aby rozpocząć:
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' ),
)
);
Jeśli naprawdę chcesz sklonować CrunchBase, chciałbyś utworzyć niestandardowe typy postów dla każdego z nich (choć myślę, że chcesz czegoś podobnego, ale na inny rynek?):
Dla strony z listą Twojej firmy (takiej jak ta na CrunchBase) prawdopodobnie stworzyłbym „ Stronę ” WordPressa o nazwie „ Firmy ” ( wyobraź sobie to! ), A następnie użyłem wtyczki shortcode listy postów, takiej jak List Pages Shortcode (jeśli używasz tej będzie musiał wprowadzić modyfikację w jednym wierszu, aby obsługiwać niestandardowe typy postów, tak jak tutaj pokazuję .)
Dzięki tej wtyczce i modyfikacji możesz dodać następujący tekst do swojej strony „ Firmy ”, aby wyświetlić listę wszystkich firm na liście punktowanej na tej stronie, którą możesz stylizować za pomocą CSS:
[list-pages post_type="company"]
Następnie dla niestandardowego układu dla każdej firmy możesz wykonać kopię pliku szablonu motywu, single.php
nazwać go single-company.php
i wprowadzić dowolne modyfikacje układu.
A jeśli chcesz pozwolić ludziom przesyłać firmy, rozważają skorzystanie z Gravity Forms ( nie jest to link partnerski; 39 USD za licencję na witrynę i warte każdego grosza).
Jestem pewien, że jest więcej, ale zapewni ci większość podstawowych funkcji, których potrzebujesz. Jeśli potrzebujesz więcej, zadaj kolejne pytanie tutaj na WordPress Answers!
Mam nadzieję, że to pomogło.
Nie ma powodu, dla którego nie można tego zrobić, używając niestandardowych typów postów i odpowiednich szablonów, aby dopasować go ... ale czy jest to właściwy sposób, aby to zrobić, to inna sprawa.
CrunchBase.com jest obecnie niedostępny, więc nie mogę dokonać właściwej wyceny, ale z tego, co pamiętam, lepiej byłoby być blogiem WordPress + niestandardową wtyczką do obsługi wpisów w bazie danych. jak działa wtyczka e-Commerce dla WP. Zachowaj bazę danych firmowych przechowywaną i zarządzaną za pomocą wtyczki, która pozwala również osadzać odpowiednie informacje w postach na blogu za pomocą funkcji z wtyczki.
Jednak ... jeśli uważasz, że korzystanie z innej bazy danych jest łatwiejsze, ponieważ np. Synchronizujesz to codziennie z innymi źródłami, masz już cały kod raportowania, użyj tej bazy danych dla wielu innych źródeł, przygotuj się na przyszłość, kiedy możesz chcesz użyć tej bazy danych w innych projektach do synchronizacji, dodajesz dane z innej aplikacji itp. Sztuczka polega na przełączaniu baz danych:
//
// 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');
następnie zrób swoje rzeczy, uruchom wszystkie zapytania / zewnętrzne pliki php generujące raporty itp., a następnie wróć do bazy danych WP:
mysql_select_db(WPDB_DATABASE, $mysql_link_edl);