我的网站是用 Wordpress 设计的。一些主题页面有一个定制的 PHP 脚本用于预订东西,我想在 CodeIgniter 中对其进行重构,以获得更大的灵活性。问题 :
1) 如何在 WP 中使用 CI 功能与 CI 的路由系统?我是否必须制作一个 CI 页面 index.php/controller/page1/ 然后在 Wordpress 中调用它?
2) 我是否必须使用 CodeIgniter “视图”系统或 Wordpress “主题页面”来获得我的结果?
谢谢
我的网站是用 Wordpress 设计的。一些主题页面有一个定制的 PHP 脚本用于预订东西,我想在 CodeIgniter 中对其进行重构,以获得更大的灵活性。问题 :
1) 如何在 WP 中使用 CI 功能与 CI 的路由系统?我是否必须制作一个 CI 页面 index.php/controller/page1/ 然后在 Wordpress 中调用它?
2) 我是否必须使用 CodeIgniter “视图”系统或 Wordpress “主题页面”来获得我的结果?
谢谢
I used the following.
My goal is to use CodeIgniter for some pages, and leave the other pages in Wordpress untouched. I only have a few steps to do it :
Copy CI folder at the Wordpress root
Modify the « index.php » of CI to add an include which will add WP functions to CodeIgniter :
@require '../wp-load.php';
require_once BASEPATH.'core/CodeIgniter.php';
Once this line added, Wordpress functions will be usable in CodeIgniter ; they will be used mainly for views.
Modify the .htaccess of WP to not rewrite CI's URLs : After this line :
RewriteRule ^index\.php$ - [L]
Add this line :
RewriteCond %{REQUEST_URI} !^/(codeigniter_folder|codeigniter_folder/.*)$
Then CI views can use WP functions.
WordPress 和 CodeIgniter 都是 PHP 中最流行的框架。CodeIgniter 是一个轻量级的 PHP 框架,可以帮助开发可以与 WordPress 集成的应用程序。虽然有些用户更喜欢分别开发 CodeIgniter 和 WordPress 元素,但我们将通过一个示例,其中主要导航和页脚在两个平台上都相似,因为两次更新导航和页脚没有多大意义。
在这里,我们学习了使用 WordPress 和 CodeIgniter 的两件事
- 如何集成已经运行的 WordPress 网站来集成 CodeIgniter
如何集成已经运行的 Codeigniter 网站来集成 WordPress
将 CodeIgniter 集成到 WordPress 令人震惊的是,许多网站所有者监督者仍然倾向于将 WordPress 作为他们必不可少的内容管理系统 (CMS),考虑到 WordPress 带来的影响深远的亮点,你无法指责他们。桌子。
好的,让我们在这里开始将 CodeIgniter 集成到 WordPress 中,WordPress 是我们的主要应用程序,我们将在 CodeIgniter 中使用它的功能,同时将 CodeIgniter 应用程序保留在一个子目录中。
第 1 步:添加 WordPress 引导文件 WordPress 的 wp-load.php 文件紧接在 CI 的 index.php 文件中调用 Codeigniter 引导文件之前
在向 CI 文件添加任何 WordPress 功能之前。我们将进行测试以确保一切正常。我们应用程序的第一页看起来不错,但仅此而已。
我们应用程序中的每个 URL,包括表单处理程序,都被重定向到根目录(即 WordPress 的目录),导致 404 错误。我们发现 WordPress 和 Codeigniter 在全局范围内都有一个“site_url”函数。通过在 CodeIgniter 之前加载 WordPress 引导文件,我们让 WordPress site_url.Codeigniter 函数静默“失败”,因为它正在检查是否存在 site_url 函数。
第 2 步:扩展 Codeigniter URL 助手 我们的解决方案是“扩展” CodeIgniter 的 URL 助手。通过使用 ci_site_url,我们可以解决 site_url 问题。My_url_helper.php (helper) 文件应该在 CodeIgniter 的应用程序目录中。
第 3 步:在 CodeIgniter 应用程序中将 site_url 更改为 ci_site_url。将所有 site_url 文件引用替换为 ci_site_url 到您的应用程序、控制器、模型和目录中。
一旦我们完成了这些步骤,我们的 CI 应用就可以工作了……</p>
第 4 步:阻止 WordPress 管理我们的 cookie!我们仍然无法正常工作的网站是我们在 Codeigniter 中构建的管理面板。我们的凭据已被接受,但仍重定向到登录页面。
我想您知道 CodeIgniter 会在您登录时为每个活动的数据库会话创建 cookie。这可能会导致 WordPress 引导文件纠正问题。当 WordPress 通过 $_COOKIE 全局循环并对除 CodeIgniter cookie 之外的所有元素实施 add_magic_quotes 功能时,就会发生这种情况。
- 将 WordPress 集成到 CodeIgniter 如果您已经在 CodeIgniter 中创建了网站并添加了博客页面,那么 WordPress 是最佳选择,因此,首先,将 WordPress 安装在您网站上名为 blog 的文件夹中。它将位于您的 CodeIgniter 网站的顶级目录中。所以它会在 CI 安装的系统文件夹旁边。如果您的站点已有数据库,请让 WordPress 将表添加到具有前缀的同一个数据库中,以使事情变得简单。
之后,在 CodeIgniter 的 index.php 文件顶部添加以下行。根据需要更改 wp-blog-header.php 的路径以指向您的 WordPress 根目录。
全部完成!!此代码允许在不离开 CodeIgniter 站点的情况下访问 WordPress 博客。更多辅助功能在 WordPress 文档中有详细说明。