iqnection/silverstripe-wordpress-integration

提供将WordPress博客与您的SilverStripe站点集成的功能

1.0.1 2021-04-05 20:17 UTC

This package is auto-updated.

Last update: 2024-08-28 09:12:38 UTC


README

通过Composer安装

composer require iqnection/silverstripe-wordpress-integration

用法

创建一个WordPress重定向页面,并设置WordPress安装的URL目录(从根目录开始)

  • 网站根目录的 .htaccess 将被更新以允许请求此目录

您还可以从您的WP博客检索帖子,并在您的SS页面上显示

// find the page model
$wpPage = WordPressRedirectPage::get()->byId($id);
// retrieve the posts
$posts = $wpPage->getBlogFeed();

帖子将被缓存,因此RSS不会在每次页面请求时查询

当请求页面的URL时,将创建指定模板的缓存,然后可以将其注入到您的WordPress主题中。这提供了在平台之间使用相同页眉和页脚的能力。模板缓存将存储在 path/to/site/root/template-cache/{page-url}.json 路径。json 包含您缓存的模板,以base64字符串的形式存储。

在您的WP主题中,简单地加载此文件,解码JSON,然后对数组值进行base64解码。

配置

您可以向缓存中添加或删除元素。设置数组键:值以指定要缓存的模板。在WordPress主题中使用相同的键来访问渲染的HTML。当模板渲染时,提供了一个模板变量 $ForCache,以防您不想渲染某些元素,如表单。

<% if not $ForCache %>
	$MyForm
<% end_if %>

默认值

默认缓存的模板是

  • header: Includes/Header
  • footer: Includes/Footer

添加要渲染的模板

IQnection\WordPress\WordPressRedirectPageController:
  cache_templates:
    my-key: 'path/to/template'