无法设置DirectoryIndex
到prototype.php
并期望其他一切正常工作。DirectoryIndex
不仅仅是一个“登录页”。很多请求都会通过该文件。
我想你把事情弄得比需要的更复杂了。
将您的代码prototype.php
进入WordPresscustom theme
template file.
Create a page 将该文件用作模板的static front page.它可以让您将所有内容都保存在WordPress中,这样您就可以跟踪用户是否登录以及该用户是否填写了表单,如果是的话,还可以重定向到页面之外。而且你根本不需要修改。
还有另一种类似但大致相反的方法。
不要试图重写任何内容,让WordPress正常运行。但是使用template_redirect
钩子检查用户登录状态,检查用户是否填写了表单,并有条件地重定向到表单。
function redirect_to_prototypephp_wpse_101519() {
$redir = true;
if (is_user_logged_in()) {
global $current_user;
get_currentuserinfo();
$filled_form = get_user_meta($user_id, \'_prototype_form\', true);
if (true == $filled_form) {
$redir = false;
}
}
if (true === $redir) {
wp_redirect(\'http://your-url/URL/to/prototype.php\');
}
}
add_action(\'template_redirect\',\'redirect_to_prototypephp_wpse_101519\');
这也允许您以不同的方式使用核心WordPress功能。唯一的附加组件是需要设置
_prototype_form
当
prototype.php
表单已提交。