根据url更改现有页面内容 时间:2018-02-03 作者:321zeno 我创建了一个stuff WP中的页面。当用户访问时stuff/foo, 我想从API获取一些数据,并将其附加到stuff 页到目前为止,我已经尝试:钩住the_content 筛选,但它不起作用,因为wp已经确定该页面不存在,并返回404使用init_query_var 并将内部查询重置为$query->set(\'pagename\', \'stuff\'). 但是,这会迫使WP重定向到/stuff 第页感谢您的关注 2 个回复 SO网友:Eduardo Escobar 我相信这对你有用:创建一个名为“stuff”的“页面”,然后创建另一个名为“foo”的页面,现在将其作为“stuff”的子页面stuff/foo 将存在,而不是404。最终使用the_content 过滤并进行所需的数据操作。另一种选择(艰难的方式)是pre_get_post 钩子,这样你就可以让wordpress相信它真的是被请求的“foo”页面,并避免404。 SO网友:Darren Coutts 可以这样做的一种方法是使用一个短代码,该代码取决于传递的参数。例如,使用https://codex.wordpress.org/WordPress_Query_Vars允许将参数传递到页面中。ie:function add_query_vars_filter( $vars ){ $vars[] = "query"; return $vars; } add_filter( \'query_vars\', \'add_query_vars_filter\' ); Rewrite Rules 可用于删除查询字符串并创建假页面foo/bar然后可以创建short code 这将根据这个查询变量从api中提取数据。例如:[display-content] 可能使用查询字符串baz 从api中提取内容。baz 将通过重写规则设置,该规则将屏蔽?baz= url中的元素。 结束 文章导航