将WordPress整合到Magento中的最佳策略是什么?


22

我正在寻找将WordPress集成到Magento中的最佳方法。

首先,我希望WordPress使用Magento的页眉和页脚。

其次,我希望用户可以同时搜索Magento和WordPress。而且不要卡住。必须搜索输入。

Answers:


14

这取决于。您可以选择:

如果您使用Fishpig模块(这是一个很好的模块),则可以使用http://www.magentocommerce.com/magento-connect/mage-wordpress-integrated-search-4394.html

最新的解决方案是在Magento上开发您自己的WordPress集成:)


是的...我有麻烦了。我只有一个星期。:\
jnbdz

我对这个Fichpig模块的问题是,我不确定它是否适用于多语言WordPress博客。因此,我不确定它是否可以使用此代码:codex.wordpress.org/Create_A_Network
jnbdz 2013年

您可以使用WordPress多站点并将其通过FishPig多站点扩展集成到Magento中-fishpig.co.uk/magento/wordpress-integration/multisite
Ben Tideswell,2013年

我是否可以通过任何模块集成wordpress,以使我的商店客户无需登录wordpress就可以在wordpress创建的论坛上发表评论?
Jnanaranjan

24

我已经在许多网站上使用了Fishpig模块,购买了付费插件,并且多年来一直很高兴地推广它。但是,我不再使用它。它做得很好,但是要做的是通过Magento运行所有内容。

让我们面对现实吧,客户浏览了一个Wordpress网站,突然开始变得很有创意。“我们可以在Wordpress中做到这一点!”,“我们可以在Wordpress安装中做到这一点!”。您必须继续向他们解释,通常,是的,这在Wordpress中很容易实现。

因此,您的自定义Wordpress小部件库将不起作用,第三方Wordpress插件将不起作用。主题和主题选项无效。除非您进行大量工作,否则将其转换并吸收到Fishpig模块中。

我认为更好的方法是采用James Kemp(http://wordpress.org/plugins/magento-wordpress-integration/)或Richard Feraro(http://wordpress.org/plugins/mage-enabler /)。它们都采用相同的方法,允许您从Wordpress访问Mage对象,并将您想要从Magento中提取的任何内容拖入Wordpress主题。但是,如果您看一下这些插件,它们非常简单,不需要太多代码。

它们都需要进行修改,app/code/local/Mage/Core/functions.php因为Wordpress和Magento都function __()声明了一个方法。虽然在两个插件作者站点上都有关于它的详细说明,但这非常容易。之后,您会陷入困境。

非常简单,这是一个使用James Kemp插件的示例。您可以将精简版Wordpress主题添加为header.php

<!DOCTYPE html>
<html class="no-js">
<head>
    <?php the_block("head"); ?>
    <?php wp_head(); ?>
</head>

<body <?php body_class(); ?>>

这会将您的整个Magento头块拉到Wordpress标头中。完美,无重复,无额外工作。请注意,我wp_head()之所以这样添加是因为,如果您添加Wordpress插件,它们可能会将其用作钩子,并且在您的Wordpress header.php文件中添加它是一个好习惯。

footer.php也是如此;

    <?php the_block("footer"); ?>
    <?php wp_footer(); ?>

  </body>
</html>

在Wordpress中有您的Magento页脚块。其余的取决于您,但您可以自由地在自己的Wordpress安装中添加尽可能多的其他内容,而没有任何限制。

编辑-5月14日

自从我撰写本文以来,我还开始使用Wordpress作为CMS,并使用此Wordpress插件-JSON API插件http://wordpress.org/plugins/json-api/将数据拉回到Magento

给您一个代码示例-下面的代码在Wordpress中为名为event的自定义帖子类型提取必要的条目,访问这些名为eventdate的帖子中的自定义字段,将它们全部放入一个数组中,按日期对其进行排序,并输出所有列表带有指向Wordpress安装中每个事件页面的链接的事件。我在下拉菜单中的Magento网站的主导航中使用了它,它的确运行良好。WordPress将在核心中添加JSON API,但截至目前尚未发布。

<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>

编辑-10月15日

我最近不得不尝试在一家杂货店中使用这种集成方法,该杂货店所使用的国家/地区代码子目录与Matthias Zeis所提的问题相同。

子文件夹中的不同storeview或网站

我确实考虑过为此尝试Fishfishg多商店扩展,但最后我在SO上提出了一个问题-> /programming/32613815/htaccess-wordpress-under-magento-site-with-multi-language-子目录

我把答案放在这里,它使用服务器环境变量和一些Wordpress过滤器。我也添加了.htaccess和Nginx服务器块来提供帮助。

此外,对于那些使用Capistrano部署其Magento网站并对不断更新的Wordpress核心和插件污染其回购协议的人们感到不寒而栗的人,我写了一篇博客文章,展示了如何将全部转移到Capistrano 3和回购中只有您的Wordpress主题;

http://www.mcnab.co/blog/wordpress-git-and-capistrano-v3/


您建议使用的哪个WordPress插件最多?我的Magento也有多种语言。
jnbdz

1
当您了解使用Fishpig与Kemp插件等的相对优缺点时,这是一个很好的答案。我已经使用了后者几次,并且效果很好。如果您有预算购买额外的功能,则Fishpig具有强大的功能。
路加·巴克

1
@McNab我曾在stackexchange上收到的最佳建议。.谢谢
s_h

1
@s_h-我在stackexchange上收到的最佳评论!干杯:)
McNab 2015年

1
@JamesKemp-感谢插件!集成这两个系统使我的生活变得更加轻松。干杯。
McNab 2015年


5

您也可以使用wordgento:http ://wordpress.org/plugins/tristar-wordgento/

我已经在博客中使用了它,并且效果很好。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.