对于大多数PHP程序员来说,这可能是件简单的事情,但是,我以前从来没有这样做过。我正在使用一个网页模板Wordpress网站。在这个页面上,我创建了一个页面,根据用户id查询结果,然后显示用户配置文件信息。我要达到的目标是:
第1页
已从数据库中提取多个律师
行动:
点击链接
(示例链接:http://example.com/lawyer-profile?user_id=9
*数字9是动态数字
第2页
律师简介>有律师简介信息
问题
如何更改此URL
http://example.com/lawyer-profile?user_id=9

http://example.com/lawyer-profile/john-doe/
但是仍然使用用户id来提取数据?
任何帮助都将不胜感激!
更新:
我在wordpress的网站上找到了这个,我对它进行了修改,以反映出我需要它做什么,但它不起作用。它重定向到律师目录页,该页是第189页,但仍然在URL中显示查询字符串。
以下是我正在使用的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);

最佳答案

如果你在使用Wordpress,看看add_rewrite_rule()。除了add_rewrite_标记之外,这将允许您处理这个问题。
您可以做的是为用户id定义一个重写标记,并定义一个重写规则来将您的模式映射到处理它的单个页面。然后可以使用query-vars例如获取值。

$wp_query->query_vars['user_id']

所以这会回来的,比如约翰·多伊。在你的数据库中,你会有一个律师永久性的索引,然后你可以查找找到他们的id/记录。
一开始有点混乱,但是上面链接的doc中有一个很好的例子。

10-07 19:33
查看更多