当使用wp_reDirect作为附件页面时,获得“太多重定向”

时间:2015-08-27 作者:gdaniel

代码来自codex:

<?php wp_redirect( get_permalink( $post->post_parent )); exit; ?>
我在一个空的附件中添加了上述内容。php页面。当我访问附件页时(例如。http://example.com/?attachment_id=2071) 我得到错误:

“此网页有重定向循环ERR\\u TOO\\u MANY\\u重定向”

为什么?

更新时间:

根据给出的答案,我将代码更新为:

if($post->post_parent != 0):
    wp_redirect(get_permalink($post->post_parent));
else:
    wp_redirect(get_permalink(2));
endif;
exit;
这样,如果post\\u父项==0,它将返回主页。我不知道我是否应该抓住别的什么。但这似乎奏效了。

感谢Ignat B.解释发生的事情。我有几个附件的post\\u parent=0。碰巧我尝试的链接就是其中之一。

1 个回复
最合适的回答,由SO网友:Ignat B. 整理而成

考虑到WordPress Codex, 和WordPress Template Hierarchy - 附件存储为post记录。

您的代码正在将循环重定向到同一页。最合理的情况是:

你的$post->post_parent 相当于0. 如果你能var_dump(get_permalink($post->post_parent));, 您会注意到输出将是相同的页面url。