Use two different index pages

时间:2013-06-01 作者:Siddharth Pandey

link 正在指向我的主目录。我想让我的用户看到~/home/prototype.php 当他们来到我的网站时,请翻页。为了实现这一目标,我在我的网站上设置了以下内容。该目录的htaccess文件:

DirectoryIndex /home/prototype.php
# BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    # END WordPress
他们需要填写并提交一份表格。此表单的重定向设置为www.imlovingdogs.com/index.php i、 e.主要指标。wordpress开始加载其他必需文件的php页面。但是这个www.imlovingdogs.com/index.php 不起作用!如何为我的用户实现这种流?

1 个回复
SO网友:s_ha_dum

无法设置DirectoryIndexprototype.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_formprototype.php 表单已提交。

    结束