有没有办法将WordPress集成到现有的PHP框架、CMS和导航系统中?

时间:2011-10-03 作者:Josh

我是模块化PHP框架系统的高级开发人员,该系统为我的客户提供内容管理系统(CMS)、电子商务系统和各种其他模块(幻灯片、推荐、表单、常见问题解答等)

我的框架通过现有的.htaccess 文件并将这些URL发送到相应的模块。

该框架的一个对用户非常重要的特性是,该框架处理整个页面strutter的生成,包括导航,providing a consistent look, feel, and navigation from page to page. 这是非常重要的,我们保持这一点。

我的许多客户要求我们添加WordPress模块。是否可以在现有的PHP框架和导航模板中集成或“嵌入”WordPress,以便WordPress引擎像往常一样解析URL并执行所有认可的操作,但只输出网站正文的HTML内容,从而允许我的框架处理“模板”HTML?

仅供参考,我是PHP专家,但几乎没有接触过WordPress。PHP繁重的答案根本不会吓到我(事实上,如果适用的话,我将不胜感激)

1 个回复
SO网友:Otto

WordPress本身实际上并没有生成完整的HTML,只是其中的一部分,而且只有在主题告诉它时才会生成。它将页眉和正文等留给主题。所以,如果你的主题没有输出一个部分,那么它就不会被输出。

虽然WP本身确实是一个成熟的CMS,但您可以将其用作以下部分的生成器:

制作一个只输出所需位的主题。主题可以像样式一样简单。css文件和索引。包含循环的php文件。看见http://codex.wordpress.org/The_Loop

如果您检查WP的主要索引。php文件,您将看到它只做define(\'WP_USE_THEMES\', true); 然后require(\'./wp-blog-header.php\');. 因此,您可以执行相同的操作来启动WP并生成输出。

URL处理可能很棘手。WordPress希望位于某个“根”URL上,并在其下处理(大多数)URL。所以它需要知道home和siteurl中的根URL。将其实现为一个模块,如果您事先知道这些,那么您可以在包含它之前预先定义WP\\u HOME和WP\\u SITEURL,以便强制解决问题。请参阅WordPress自己的。htaccess基本上将系统上不存在的文件或目录URL路由到索引。php。然后,它会在这之后进行自己的URL解析,并知道从中或多或少地减去根。

这至少应该足以让你开始学习。诀窍是,如果您以这种方式实现它,它将不会只适用于任何WP主题,您必须为它提供特殊的“仅限部分”主题。您可能还需要自定义代码来禁用其他东西,如侧栏、菜单,以及任何不适合将WP作为部分页面生成器的设计的东西。

结束

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register