gpt4 book ai didi

php - 在 Wordpress 中实现简单的动态路由

转载 作者:行者123 更新时间:2023-12-05 02:20:32 34 4
gpt4 key购买 nike

假设我有一个干净的 wordpress 安装,带有一个基本的自定义主题。

在那个主题中,我有一个自定义页面模板,它只是一个 iframe,指向不同域上的 webapp。

所以假设我的 wordpress 安装可以在 http://example.com 到达,我的带有 iframe 模板的页面位于 http://example.com/members/ .

我现在想添加动态路由,以便所有请求到http://example.com/members/login , 或 http://example.com/members/event/1 (例如)全部转到http://example.com/members/但将路由的第二部分('/login',或'/event/1')传递给里面的 iframe。

在不侵入 Wordpress 内部的情况下,最好的方法是什么?

我找到了这个插件:https://wordpress.org/plugins/wp-on-routes/但令我沮丧的是,当我尝试使用它时,我发现它完全覆盖了 Wordpress 的内置路由,这意味着我将不得不手动重新添加每个 URL(据我所知,我在 PHP 方面并不那么熟练),这是不行的,因为我的客户仍然需要能够在不手动编辑 php 文件的情况下发布。

感谢阅读。

最佳答案

您可以使用 add_rewrite_rule 添加路由像这样 Hook :

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 中加载适当的页面。

关于php - 在 Wordpress 中实现简单的动态路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38981506/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com