在 CakePHP 中集成 Wordpress CMS

Integrate Wordpress CMS in CakePHP

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

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

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

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

Error: Cannot redeclare __() (previously declared in /home/todopeta/alvarotrigo/pruebas/cakephp/lib/Cake/basics.php:581)
File: /home/todopeta/alvarotrigo/pruebas/cakephp/app/Vendor/wordpress/wp-includes/l10n.php
Line: 163

有人在 CakePHP 中集成过 wordpress 吗?

实现它的方法是什么?

我看过it seems to be possible with other PHP MVC frameworksk such as Laravel。 CakePHP 在这方面是否更严格?

使用这种方法,您将做一场噩梦,并以大量混乱的代码告终。

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

https://croogo.org/

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

你的链接文章做同样的事情,但它使用 WP_Query class 和更远的 Corcel,它似乎是 Eloquent ORM 和 WP 的混合体。我不会走那条路并使用 CakePHP ORM。

我可以向你保证,由于糟糕的 WP 代码和体系结构,其他一切都会成为后方的痛苦。

如果您尝试像您尝试过的那样在 CakePHP 中使用 WP 代码,这将变得非常痛苦、耗时,并且如果没有一些非常糟糕的代码,可能永远无法正常工作。

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