如何在WordPress加载之前添加代码

时间:2014-12-09 10:14:58

标签: php wordpress

我需要在wordpress加载之前运行一些代码。实际上我想检查HTTP_USER_AGENT并决定将它们发送到WordPress或将它们重定向到另一个URL。

目前我将我的代码放在index.php文件中,但是我会在wordpress更新中丢失它们。

我该怎么办?


这是我之前使用的.htaccess代码:

RewriteCond %{HTTP_CLIENT_IP} !^(10\.10\.10\.10)
RewriteCond %{HTTP_X_FORWARDED_FOR} !^(10\.10\.10\.10)
RewriteCond %{HTTP_X_FORWARDED} !^(10\.10\.10\.10)
RewriteCond %{HTTP_FORWARDED_FOR} !^(10\.10\.10\.10)
RewriteCond %{HTTP_FORWARDED} !^(10\.10\.10\.10)
RewriteCond %{REMOTE_ADDR} !^(10\.10\.10\.10)
RewriteCond %{HTTP_CLIENT_IP} !^(10\.10\.10\.10)
RewriteCond %{HTTP_CLIENT_IP} !^(10\.10\.10\.10)
RewriteCond %{HTTP_CLIENT_IP} !^(10\.10\.10\.10)
RewriteCond %{HTTP_USER_AGENT} !(Baiduspider|Bingbot|Googlebot|msnbot|Slurp|Teoma|YahooSeeker|YandexBot) [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301,NE]

3 个答案:

答案 0 :(得分:1)

您需要将验证代码放在模板的标题页中,可能是header.php 但如果你更新主题,你将失去你所做的更改。

答案 1 :(得分:1)

您可以使用init回调。来自here

add_action('init', 'my_initialization');
function my_initialization() {
    //Do the check
}

在WordPress完成加载但在发送任何标头之前运行。用于拦截$_GET$_POST触发器。

答案 2 :(得分:-1)

我从这个主题的答案中找到了一些解决方案。但我自己找到了另一种方式......

我可以创建一个文件并将我的代码放在那里,然后将其包含在我的wp-config.php文件的末尾,它似乎工作正常。

你的想法是什么?