在CakePHP中集成Wordpress CMS

时间:2015-02-08 20:08:37

标签: php wordpress cakephp cakephp-2.6

我试图在CakePHP 2.6.1 to use it as a CMS中为我的最终用户集成Wordpress。 我包含了访问wordpress函数所需的文件:wp-blog-header.php

由于CakePHP只允许包含位于CakePHP内的文件,我将wordpress安装放在app/Vendor/wordpress内,现在我试图以这种方式导入AppController中的必要文​​件:

App::import('Vendor', 'wordpress'.DS.'wp-blog-header');

但似乎有些功能发生冲突,因为我从CakePHP收到此错误:

  

错误:无法重新声明__()(之前在/home/todopeta/alvarotrigo/pruebas/cakephp/lib/Cake/basics.php:581中声明)
  文件:/home/todopeta/alvarotrigo/pruebas/cakephp/app/Vendor/wordpress/wp-includes/l10n.php
  行:163

以前有没有人在CakePHP中整合wordpress?

该怎么做呢?

我见过it seems to be possible with other PHP MVC frameworksk such as Laravel。 CakePHP在这方面是否更具限制性?

2 个答案:

答案 0 :(得分:1)

你将会遇到噩梦,最终会遇到大量代码。

相反,为什么不尝试使用CakePHP CMS系统,例如:

https://croogo.org/

答案 1 :(得分:1)

通过为CakePHP创建WP插件来访问WP数据,并为每个WP表添加模型并通过CakePHP读取数据。

您的链接文章也是如此,但它使用了WP_Query类并进一步降低了Corcel,这似乎是Eloquent ORM和WP之间的混合。我不会去那条路并使用CakePHP ORM。

我可以向你保证,由于可怕的WP代码和架构,其他一切都将成为后方的痛苦。

如果您尝试在CakePHP中使用WP代码,那么您已经尝试过这将变得非常痛苦,耗时并且如果没有一些真正非常糟糕的代码可能永远不会正常工作。

如果您只需要来自WP的部分,请考虑创建WP插件并通过页面中的iframe嵌入WP内容。 AFAIK WP现在也有一个json API,你也可以尝试通过该API读取数据。