Php 插件中子页面的wordpress url解析
假设我在wordpress中有一个页面foo,这样http:/www.blah.com/foo就会显示出来 假设这个页面的内容中有一个触发器,比如我的插件通过add_filter“the_content”跟踪它。。滤器因此,所有对http:www.blah.com/foo的调用都由插件接收并处理 现在有没有一种方法可以让插件让wordpress知道它想要处理该类型的所有URL等。。 不必为每个URL创建页面/子页面,因为这些URL将动态创建Php 插件中子页面的wordpress url解析,php,wordpress,url,plugins,Php,Wordpress,Url,Plugins,假设我在wordpress中有一个页面foo,这样http:/www.blah.com/foo就会显示出来 假设这个页面的内容中有一个触发器,比如我的插件通过add_filter“the_content”跟踪它。。滤器因此,所有对http:www.blah.com/foo的调用都由插件接收并处理 现在有没有一种方法可以让插件让wordpress知道它想要处理该类型的所有URL等。。 不必为每个URL创建页面/子页面,因为这些URL将动态创建 此外,除了在页面中的内容上使用添加内容过滤器外,还有其
此外,除了在页面中的内容上使用添加内容过滤器外,还有其他方法吗?可以从插件中获取控制权(理想情况下,该插件设置了url的键),以便所有对的调用都由插件处理。是的,您可以获取url引用,即查询并解析它们,而无需创建子页面
事件顺序如中所述。您需要特别关注连接到parse_请求操作。我做了一些非常类似于您使用自定义mod_重写规则描述的事情。按照您的示例,我有一个使用Foo.php模板的页面Foo。php模板接受一个查询变量,比如path,它定义URL的其余部分。在我的.htaccess文件中,我有以下规则:小心将其放在WordPress“自动生成的规则”之外
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^foo/(.+) /foo/?path=$1 [L]
</IfModule>
我认为使用钩子和类也可以做类似的事情,但我自己还没有尝试过 回答我自己的问题:
上面答案中的指针很有用,让我走上了正确的道路,但我一直遇到一个障碍,即每当调用所讨论的url时,它总是调用index.php
然后我遇到了
他解释并提供了一个需要模板重定向操作的答案,以确保控件位于您想要的位置
remove_action('template_redirect', 'redirect_canonical');