我编写了一些代码,帮助保护客户端文件的安全,并将其添加到WordPress函数文件中。然而,无论何时更新,它都会覆盖我的函数。
所以我想把它创建为一个插件。
但是,我不断遇到以下错误:
PHP Warning: Cannot modify header information - headers already sent by...
所以我需要在wordpress发送标题之前执行我的代码。
我该怎么做?
谢谢Richard
使现代化好的,这是代码,虽然我更改了标签,但前提相同。。。
<?php
/*
* Plugin Name: My WP Plugin
* Plugin URI: http://www.example.com/plugins
* Description: My Plugin
* Version: 1.0
* Author: My Name
* Author URI: http://www.example.com/
*/
function somebit_init() {
$_permaStruc = get_option(\'permalink_structure\');
if($_permaStruc != "") {
if($_GET[\'dl\']) {
header("Location: http://google.com");
exit;
} else if($_GET[\'download\']) {
header("Location: http://google.com");
exit;
}
}
}
add_action(\'init\', \'somebit_init\');
?>
我仍然收到“PHP警告:无法修改标题信息-标题已由…发送”错误
你知道为什么吗?我找不到它。也许我做错了什么我看不见的事。
理查德
SO网友:Gendrith
这是一个我用来检查未登录用户是否试图直接进入自定义页面(仅针对用户)的函数,它检查是否有人进入了特定页面。
甚至还会再次检查是否创建了主cookie(有助于避免未定义的索引错误)
function validate_sesion() {
if ((is_page(\'something\'))||(is_singular(\'something\'))) {
if (!is_user_logged_in()) {
wp_redirect(home_url(\'log-out\'));
exit();
} elseif ((empty($_COOKIE["user_id"])) || (empty($_COOKIE["user_role"]))) {
if (is_user_logged_in()) {
wp_redirect(home_url(\'log-out\'));
exit();
}
}
}
就像其他答案一样,我使用了“template\\u redirect”挂钩
add_action(\'template_redirect\', \'validate_sesion\');
我希望它能帮助别人