我同意@br3nt的说法,你做错了。我建议你这样做:
function display_my_preview() {
if (!isset($_GET[\'my_preview\'])) return;
//Redirect if user is not logged in
if (!is_user_logged_in()) {
auth_redirect();
}
//Die if user can\'t edit posts
if(!current_user_can(\'edit_posts\') ) die(__("You don\'t have the neccessary permission to preview forms.", "nemus_slider"));
//And the actual preview code
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Preview</title>
<?php wp_head(); ?>
</head>
<body>
Some preview stuff...
<?php wp_footer(); ?>
</body>
</html>
<?php
exit();
}
add_action(\'template_redirect\',\'display_my_preview\');
这样,您就不必处理包含任何核心文件的问题,您可以通过添加
my_preview=true
到URL。显然,这是一个粗糙的实现,但它可以作为概念证明。
Note: 我知道auth_redirect
应该检查登录的用户状态,但我无法使其正常工作。我正在努力找出原因。直到,明确检查。