Saya telah menggunakan modul Fishpig pada banyak situs, telah membeli plugin berbayar dan telah dengan senang hati mempromosikannya selama bertahun-tahun. Namun, saya tidak menggunakannya lagi. Itu melakukan apa yang dilakukannya dengan baik, tetapi apa yang dilakukannya adalah menjalankan semuanya melalui Magento.
Mari kita hadapi itu, klien melihat situs Wordpress dan tiba-tiba mulai menjadi kreatif. 'Kita bisa melakukan ini di Wordpress!', 'Kita bisa melakukan itu di instalasi Wordpress!'. Anda harus terus menjelaskan kepada mereka bahwa secara normal, ya itu mudah dilakukan di Wordpress .... tetapi instalasi Wordpress mereka tidak normal karena semuanya berjalan melalui Magento sendiri dan itu mengubah segalanya.
Jadi bank widget Wordpress khusus Anda tidak akan berfungsi, plugin Wordpress pihak ke-3 tidak akan berfungsi. Tema dan opsi tema tidak akan berfungsi. Kecuali jika Anda melakukan banyak pekerjaan mengubah dan mengasimilasi mereka ke dalam modul Fishpig.
Pendekatan yang jauh lebih baik menurut saya adalah mengikuti James Kemp ( http://wordpress.org/plugins/magento-wordpress-integration/ ) atau Richard Feraro ( http://wordpress.org/plugins/mage-enabler / ). Mereka berdua mengambil pendekatan yang sama, memungkinkan Anda untuk mengakses objek Mage dari Wordpress dan menarik apa pun yang Anda inginkan dari Magento ke tema Wordpress Anda. Jika Anda melihat plugin, mereka sangat sederhana dan tidak melibatkan banyak kode.
Keduanya membutuhkan modifikasi app/code/local/Mage/Core/functions.php
karena Wordpress dan Magento memiliki function __()
metode yang dideklarasikan. Ada catatan rinci tentang hal itu di kedua situs pembuat plugin dan itu sangat mudah. Setelah itu Anda bisa terjebak.
Ini sangat sederhana, inilah contoh menggunakan plugin James Kemp. Anda dapat memiliki tema Wordpress yang dipreteli dengan header.php
sejenisnya;
<!DOCTYPE html>
<html class="no-js">
<head>
<?php the_block("head"); ?>
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
Yang menarik seluruh blok kepala Magento Anda ke header Wordpress. Sempurna, tidak ada duplikasi, tidak ada pekerjaan tambahan. Catatan saya menambahkan wp_head()
karena jika Anda menambahkan dalam plugin Wordpress mereka akan berpotensi menggunakannya sebagai pengait dan itu praktik yang baik untuk memilikinya di header.php
file Wordpress Anda .
Sama berlaku untuk footer.php;
<?php the_block("footer"); ?>
<?php wp_footer(); ?>
</body>
</html>
Dan ada blok kaki Magento di Wordpress. Sisanya terserah Anda, tetapi Anda punya kebebasan untuk menambahkan sebanyak mungkin hal tambahan ke dalam instalasi Wordpress yang Anda inginkan tanpa kendala.
Sunting - 14 Mei
Sejak saya menulis ini, saya juga mulai menggunakan Wordpress sebagai CMS dan menarik data kembali ke Magento menggunakan plugin Wordpress ini - JSON API plugin http://wordpress.org/plugins/json-api/
Untuk memberi Anda contoh kode - kode di bawah ini menarik entri yang diperlukan di Wordpress untuk jenis posting kustom yang disebut peristiwa, mengakses bidang khusus di posting yang disebut eventdate menempatkan semuanya dalam array, mengurutkannya berdasarkan tanggal dan mengeluarkan daftar semua acara dengan tautan ke setiap halaman acara di Wordpress instal. Saya telah menggunakannya di navigasi utama situs Magento dalam dropdown, ini berfungsi dengan sangat baik. Wordpress akan memiliki API JSON yang ditambahkan ke inti tetapi belum dirilis.
<ul>
<?php
$events = json_decode(file_get_contents('http://www.example.com/blog/?json=get_posts&post_type=event'));
$eventList = array();
foreach ( $events->posts as $event_item ) :
$arrayDate = date("ymdHi", strtotime($event_item->custom_fields->eventdate[0] ));
$eventList[$arrayDate]['Title'] = $event_item->title;
$eventList[$arrayDate]['Date'] = date('l jS F', strtotime($event_item->custom_fields->eventdate[0] ));
$eventList[$arrayDate]['Link'] = $event_item->url;
endforeach;
// Key reverse sort to get events in date order
ksort($eventList);
foreach ($eventList as $eventItem) :
echo '<li><a href="'. $eventItem['Link'] .'">'. $eventItem['Title'] .' - '. $eventItem['Date'] .'</a></li>';
endforeach;
?>
</ul>
Sunting - 15 Okt
Saya baru-baru ini harus mencoba dan menggunakan metode integrasi ini di multi store yang menggunakan subdirektori kode negara yang sama seperti dalam pertanyaan ini oleh Matthias Zeis;
Tampilan toko atau situs web yang berbeda dalam subfolder
Saya memang mempertimbangkan untuk mencoba ekstensi multistore Fishpig untuk ini, tetapi pada akhirnya saya mengajukan pertanyaan pada SO -> /programming/32613815/htaccess-wordpress-under-magento-site-with-multi-language- sub-direktori
Saya sudah meletakkan jawabannya di sana, menggunakan variabel lingkungan server dan beberapa filter Wordpress. Saya telah menambahkan blok server .htaccess dan Nginx juga untuk membantu.
Juga, bagi siapa saja yang menyebarkan situs Magento mereka menggunakan Capistrano dan menggigil pada prospek memiliki inti Wordpress yang terus diperbarui dan plugin mencemari repo mereka, saya menulis posting blog yang menunjukkan bagaimana Anda bisa memindahkan seluruh banyak ke direktori bersama di Capistrano 3 dan hanya memiliki tema Wordpress Anda di repo;
http://www.mcnab.co/blog/wordpress-git-and-capistrano-v3/