在functions.php中,当正确的代码添加到主页时,我使用重定向来显示个人资料页面。它以前工作过,但自从第三方编码器添加了一些不再发生的变化以来。我最初添加了一个isset来删除Undefined index: post_type
错误。现在没有更多的错误,但我没有被重定向到配置文件视图,而是被重定向到最后的else语句:404.这是重定向代码:
function my_template_redirect()
{
global $wp;
global $wp_query;
if (isset($_REQUEST['post_type']))
{
if ($_REQUEST['post_type']=="signup")
{
// Let's look for the property.php template file in the current theme
if (have_posts())
{
include(TEMPLATEPATH . '/register.php');
die();
}
else
{
$wp_query->is_404 = true;
}
}else if ($_REQUEST['post_type']=="viewprofile")
{
// Let's look for the property.php template file in the current theme
if (have_posts())
{
include(TEMPLATEPATH . '/viewprofile.php');
die();
}
else
{
$wp_query->is_404 = true;
}
}
}
}
个人资料查看代码位于:http://pastebin.com/1Nkxp0Zv。家里的表格代码是:
<div class="container">
<form action="<?php echo get_option('home'); ?>/?post_type=viewprofile" method="post">
<span>Enter your code here:</span><input name="enterCodeId" type="text" class="inputBox" /><input type="submit" value="GO!" class="go" />
</form>
</div>
为什么我的密钥不再被接受并继续通过最后的else语句获得404-ed的任何想法?
答案 0 :(得分:1)
看起来唯一的方法就是没有任何帖子,或者如果have_posts()函数返回一个假值。那就是你会发现错误的地方。