vensi-advertising/vensi-template-router

此包已被放弃且不再维护。未建议替代包。

WordPress模板路由器

1.3.7 2020-09-14 20:20 UTC

This package is auto-updated.

Last update: 2024-07-15 04:26:44 UTC


README

此插件的目标是在更明确和可控的方式下更好地覆盖WordPress的路由引擎。有时您想要WordPress CMS后端的全功能,但同时又想完全控制渲染。通常这种场景在您开发的是一个应用程序而不是仅仅是一个网站时最可能出现。

当这个插件被创建的时候,REST API才刚刚进入测试版,而关于重写引擎的工作还没有提及。(不过,希望它很快就会到来!)

此插件的一般用途是针对您想根据名称重定向到自己的模板文件夹的URL "文件夹"。例如,如果您想将https://www.example.com/app/下的所有内容重定向到您自己的应用程序文件夹(这个文件夹甚至不需要位于Web根目录中),那么这种情况就会出现。

此插件可以作为普通插件安装,但是建议您将其作为MU插件安装。

要使用此插件,您只需注册您的路由

\Vendi\Shared\template_router::register_context(
                                                <context_name>,
                                                <url_folder>,
                                                <template_location_root>,
                                                <magic_page = 'page'>,
                                                <template_subfolder = 'templates'>
                                            );
  • <context_name>
    • 代表相对于 <url_folder> 的URL的任意字符串名称。
    • 如果您想在以后请求模板生成URL,您将需要这个。
  • <url_folder>
    • 代表您的应用程序从该URL "文件夹" 提供服务的任意有效URL字符串。
  • <template_location_root>
    • 将请求传递到 <url_folder> 的绝对路径。
  • <magic_page>
    • 在将请求的路线传递给模板时,将使用此查询字符串变量。
    • 请确保您的应用程序不依赖于此值。
    • 此值是可选的,默认为 "page"。
    • 此参数名称不佳,实际上应该命名为 "internal_query_string_key" 或类似。
  • <template_subfolder>
    • 相对于 <template_location_root> 的子文件夹,该文件夹包含此路线的模板。
    • 此值是可选的,默认为 "templates"。

示例

对于名为 Test 的一般应用程序,您希望所有路由都以 test 开头,WordPress安装位于 /var/www/wordpress-root-folder/,并且模板位于 /var/www/wordpress-root-folder/templates/,您将使用以下方式注册上下文:

\Vendi\Shared\template_router::register_context(
                                                'Test',
                                                'test',
                                                '/var/www/wordpress-root-folder/'
                                            );