要将 WordPress 页面拉入 Razor 页面的一部分,我使用了 jquery 的 .load 并定位了页面的 div 的#content id(拉入整个页面,重新设置了整个应用程序的样式) - 你会看到一个 #page默认情况下,所有 WordPress 页面中的 #content div。
$('#loadPage').load(pageAddress + " #content");
为了保护它并为其提供自己的路由而不是 root,我在 startup.cs 的 Configure 方法中使用了它。
app.MapWhen(context => context.User.Identity.IsAuthenticated && context.Request.Path.Value.StartsWith("/content"), wp =>
{
wp.Map(new PathString("/content"), wpMapper =>
{
wpMapper.UseWordPress();
});
});
这使得 WordPress 安装可以从 /content 与 root 访问,并在我用于 ASP.NET Core 应用程序的同一凭据引擎后面保护所有 WordPress 内容。
现在,我在 ASP.NET Core 中运行了 WordPress,并将其合并到 razor 页面中,并保护其内容不受未经身份验证的用户的访问。相当繁琐的工作,但希望这可以帮助选择将 PeachPie 与 WordPress 和 ASP.NET Core 一起使用的其他人(如果有趣的话,我使用的是 2.2)。