我正在举办活动并使用WordPress来管理网站。我们有一个单独的表(不是WP用户表)的与会者,我希望他们每个人都有我们网站上的页面:
example.com/user1,example.com/user2等
我一直在阅读有关WP_Rewrite的内容,但是如果用户存在,我对如何有条件地重定向感到有点困惑,否则就会进行正常的流程。
非常感谢任何帮助实现这一目标,谢谢!
编辑:
我正试图转发一个单一的页面。现在,它可以通过以下方式访问:
example.com/user?username=user1
答案 0 :(得分:0)
如果我理解你的问题,你将为每个用户创建一个页面,所以在永久链接结构中添加标签%postname%,并且可能安装无类别的基础插件。
检查.htaccess是否使用wp为该结构编写的配置创建。如果不是,您只能复制并粘贴。
答案 1 :(得分:0)
我最后通过在用户的url前面加上代字号(〜)来做到这一点。重写代码如下:
// Uncomment only when new rewrites have been made
//add_filter('init', 'wds_flush');
// Leave uncommented
add_filter('rewrite_rules_array', 'wds_user_rewrite');
add_filter('query_vars','wds_query_vars');
function wds_flush()
{
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
function wds_user_rewrite($rules)
{
global $wp_rewrite;
$newRule = array(
'^~(.+)$' => 'index.php?pagename=user&uid=$matches[1]&act=show',
);
$newRules = $newRule + $rules;
return $newRules;
}
function wds_query_vars($vars)
{
array_push($vars, 'uid');
array_push($vars, 'act');
return $vars;
}