erdiko/wordpress

1.0.0 2017-03-12 08:24 UTC

This package is not auto-updated.

Last update: 2024-09-18 02:16:26 UTC


README

  • 无头运行您的WordPress站点

  • 从WordPress CMS提取内容

您可以通过运行composer require erdiko/wordpress来使用此模块,并与任何基于composer的php框架一起使用。

安装

1. 安装WordPress

我们建议在/lib/wordpress或与您的网站同一级别的独立文件夹中安装WordPress。例如/wordpress和/[我的网站]。然而,它可以在任何地方,只要代码库可访问。按照WordPress文档中的说明来安装WordPress。

重要 如果您的WordPress代码库位于/lib/wordpress且/lib与您的vendor文件夹位于同一级别,则可以跳过步骤#1的其余部分。

将以下内容添加到您的代码库中。

    define('WORDPRESS_ROOT', '/this/is/the/wordpress/path');

这可以在一个常量文件、引导文件或index.php中添加。遵循您框架的约定。如果您使用Erdiko,它应该放在/[我的网站]/app/appstrap.php文件中。

2. 使用composer添加erdiko/wordpress包

    composer require erdiko/wordpress

用法

以下是一些使用此包的示例。请参阅源代码以获取完整的API。

从WordPress提取内容

$model = new \erdiko\wordpress\Model;
$post = $model->getPost(1);

获取作者

$author = new \erdiko\wordpress\models\Author;
$author->getAuthor('name');

获取所有帖子

$content = new \erdiko\wordpress\models\Content;
$content->getAllPosts();

使用Erdiko创建完整的无头站点

以下说明是为使用Erdiko创建完整的无头博客。所有CMS数据都来自WordPress,并在基于clean bootstrap的主题中呈现。我们包括了控制器、模型、视图和完整的主题。

1. 安装Erdiko 使用composer,创建erdiko项目非常简单。

composer create erdiko/erdiko [my-project-name]

更多信息请访问http://erdiko.org

2. 添加您的路由

将以下行添加到您的routes.json文件中,以启用WordPress示例和内容控制器。这给您一个完整的无头WordPress站点。请将此用作示例,扩展您应用程序中的类或创建自己的无头解决方案。请注意,真正需要从WordPress提取数据的是创建一个扩展erdiko\wordpress\Model的模型。

更新您的/app/config/default/routes.json

"/": "\erdiko\wordpress\controllers\Posts",
"author/:alpha": "\erdiko\wordpress\controllers\Author",
"category/:alpha": "\erdiko\wordpress\controllers\Category",
"tag/:alpha": "\erdiko\wordpress\controllers\Tag",
"/:action": "\erdiko\wordpress\controllers\Content"

请随意调整。

3. 复制默认主题

我们甚至包括了一个基于bootstrap的示例主题。将vendor文件夹中的文件从vendor/erdiko/wordpress/app/themes/和vendor/erdiko/wordpress/public/default/themes/复制到您的app/themes/和public/default/themes文件夹中。

主题基于来自Start Bootstrap主题的css。

4. 添加上传文件的符号链接(可选)

	mkdir -p public/wp-content
	cd public/wp-content
	ln -s ../../../lib/wordpress/wp-content/uploads uploads

备注

我们欢迎您的反馈。告诉我们如何改进此包。

如果有人有兴趣帮助我们将其移植到Laravel或Symfony,请给我们发消息。我们很高兴支持更多框架!

Arroyo Labs赞助