我在mysite/post\\u id/edit上有一个前端帖子编辑页面,正在尝试将非作者的用户重定向回帖子。以下是我正在使用的代码:
<?php
global $current_user; get_currentuserinfo();
if($post->post_author != $current_user->ID):
wp_redirect( the_permalink() ); exit;
?>
我一直遇到的问题是,这似乎只是显示帖子的永久链接,而不是重定向。
wp_redirect 表示“如果页面已启动,则不会调用wp\\u重定向,因此请确保向上调用它。”-但在将代码放在标题顶部之后。php文件我仍然收到了相同的问题,permalink被显示,而不是重定向。
在哪里可以添加此代码以使其重定向?
提前感谢!
EDIT: 尝试了米洛的建议,但在我更新米洛的建议之前,我会关注Tommix的帖子
最合适的回答,由SO网友:Milo 整理而成
一旦进入模板,就太晚了,因为已经发送了标题。您必须在请求的前面进行钩子检查,如模板重定向钩子:
add_action( \'template_redirect\', \'wpse52455_redirect\' );
function wpse52455_redirect(){
// do your check and call wp_redirect here
}
请注意,这将在每次请求时调用,因此您还需要检查当前页面是否是您的编辑页面。
编辑-上面的代码应该放在你的主题中functions.php
文件