假设我有一个干净的 WordPress 安装,带有基本的自定义主题。
在该主题中,我有一个自定义页面模板,它只是一个 iframe,它指向不同域上的 web 应用程序。
所以假设我的 WordPress 安装可以在http://example.com http://example.com,我的带有 iframe 模板的页面位于http://example.com/members/ http://example.com/members/.
我现在想添加动态路由,以便所有请求http://example.com/members/login http://example.com/members/login, or http://example.com/members/event/1 http://example.com/members/event/1(例如)全部转到http://example.com/members/ http://example.com/members/但将路由的第二部分(“/login”或“/event/1”)传递到内部的 iframe。
在不侵入 WordPress 内部的情况下实现这一目标的最佳方法是什么?
我找到了这个插件:https://wordpress.org/plugins/wp-on-routes/ https://wordpress.org/plugins/wp-on-routes/但令我沮丧的是,我发现当我尝试使用它时,它完全覆盖了 Wordpress 的内置路由,这意味着我必须手动重新添加每个 URL(据我所知,我在 PHP 方面并没有那么出色) ),这是不行的,因为我的客户仍然需要能够在不手动编辑 php 文件的情况下发布。
感谢您的阅读。
您可以使用以下命令添加路由add_rewrite_rule https://developer.wordpress.org/reference/functions/add_rewrite_rule/像这样钩子:
function custom_rewrite_rule() {
add_rewrite_rule('members/([^/]+)/([^/]+)/?$',
'index.php?memberspage=$matches[1]&event_id=$matches[2]',
'top');
}
add_action('init', 'custom_rewrite_rule', 10, 0);
您可能需要创建多个,具体取决于您重写的 URL。然后,您可以使用模板中的 URL 参数在 iframe 中加载适当的页面。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)