在 CakePHP 中集成 Wordpress CMS

Posted

技术标签:

【中文标题】在 CakePHP 中集成 Wordpress CMS【英文标题】:Integrate Wordpress CMS in CakePHP 【发布时间】:2015-02-08 20:08:36 【问题描述】:

我正在尝试为我的最终用户将 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 收到此错误:

错误:无法重新声明 __()(之前在 /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 在这方面是否更严格?

【问题讨论】:

所以你用牛油装饰你的蛋糕,这听起来不太好吃......我建议不要尝试将两者混合,如果你真的需要的话,这是一场灾难的收据无论出于何种原因使用 WP,请将其与您的 CakePHP 应用程序分开运行。 google.com/search?q=wordpress+and+cakephp @ndm 但 CakePHP 不允许包含来自外部的文件。我错了吗? 它是php,你可以包含多少你想要的。问题是您可能必须包含大量文件并为 WP 脚本进行一些引导或初始化,然后最终形成一段非常丑陋的代码。 【参考方案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 读取数据。

【讨论】:

【参考方案2】:

如果使用这种方法,您将做噩梦并最终得到一大堆代码。

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

https://croogo.org/

【讨论】:

对不起,但客户仍然更喜欢 wordpress (我也是)。我没想到它会这么重要,因为它似乎与other PHP frameworks 无关。 我不羡慕你在这个 Alvaro 上,我同意 WP 后端的设计不错,但将两者整合起来确实是一项艰巨的工作。我想你可以为后端用户创建一个 WP 安装并构建一个使用相同数据库的 CakePHP 应用程序 - 所以它由 wp 填充并由 cake 读取 - 但我一想到就不寒而栗!

以上是关于在 CakePHP 中集成 Wordpress CMS的主要内容,如果未能解决你的问题,请参考以下文章

在没有插件的情况下在 WordPress 中集成 Bootstrap 轮播

在 wordpress 和 asp.net 网站中集成信用卡借记卡 NetBanking Airtel Money [关闭]

如何在正常的WordPress网站中集成支付网关?

在子目录中设置 CakePHP; Wordpress 安装在根目录下

选择查询中的CakePHP 3格式日期

将 Wordpress Post 与 Cakephp3 集成