iqnection / silverstripe-wordpress-integration
提供将WordPress博客与您的SilverStripe站点集成的功能
1.0.1
2021-04-05 20:17 UTC
Requires
- php: >=7.0.0
- silverstripe/recipe-cms: ^4.0
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'