对于大多数PHP程序员来说,这可能是一件简单的事情,但是,我以前从未这样做过。我正在使用带有页面模板的Wordpress网站。在此页面上是我创建的用于按User_id查询结果的页面,然后显示用户配置文件信息。我想要实现的目标如下:
第1页 律师目录>有多名律师从数据库中撤出
操作: 单击链接 (示例链接:http://example.com/lawyer-profile?user_id=9) *数字9是动态数字
第2页 律师简介>有律师简介信息
问题 如何更改此URL http://example.com/lawyer-profile?user_id=9
TO
http://example.com/lawyer-profile/john-doe/
但是仍然使用User_id来拉取数据?
任何帮助将不胜感激!
更新: 我在wordpress的网站上找到了这个,我修改了它以反映我需要它做什么,但它不起作用。它重定向到lawyer目录页面,即page_id 189,但仍显示URL中的查询字符串。
这是我正在使用的网址: http://example.com/index.php?page_id=189&userid=195&fullname=jack-bowers
它应该是这样的: http://example.com/lawyer-directory/jack-bowers/
有什么建议吗?
function custom_rewrite_tag() {
add_rewrite_tag('%userid%', '([^&]+)');
add_rewrite_tag('%fullname%', '([^&]+)');
}
add_action('init', 'custom_rewrite_tag', 10, 0);
function custom_rewrite_rule() {
add_rewrite_rule('^lawyer-directory/([^/]*)/([^/]*)/?','index.php?page_id=189&userid=$matches[1]&fullname=$matches[2]','top');
}
add_action('init', 'custom_rewrite_rule', 10, 0);
答案 0 :(得分:0)
如果您使用的是Wordpress,请查看add_rewrite_rule()。与add_rewrite_tag一起,这将允许您处理。
您可以做的是为user_id定义重写标记,以及将模式映射到处理它的单个页面的重写规则。然后,您可以使用query_vars获取值,例如。
$wp_query->query_vars['user_id']
所以这会返回例如。约翰 - 母鹿。在您的数据库中,您将获得律师永久链接的索引,然后您可以查找该索引以查找其ID /记录。
起初有点令人困惑,但在上面链接的文档中有一个不错的例子。