在PHP脚本中的Wordpress上创建Robot.txt文件

时间:2019-01-21 05:21:29

标签: javascript php wordpress

我是Wordpress插件开发的新手,我有一个需要回答的问题。 如果可以的话,是否可以通过插件生成类似Robot.txt的文件? 我已经尝试了多种解决方案,例如file_put_contents,但似乎无法正常工作,因为我认为可能存在权限问题。

任何建议将不胜感激。预先谢谢你。

if (! defined('ABSPATH')){
die;
}

$rfile='../../../robot.txt';
$rtext="User-Agent: *
Allow: /wp-content/uploads/
Disallow: /wp-content/plugins/
Disallow: /wp-admin/";
file_put_contents($rfile, $rtext);

这是我到目前为止使用的代码。

1 个答案:

答案 0 :(得分:0)

您应该能够使用WordPress中的robots_txt钩子添加到robots.txt文件中。

例如:

function AddToRobotsTxt($robotstext, $public) {
    $robotsrules = "User-agent: SomeBot
                    Allow: /";
    return $robotstext . $robotsrules;
}
add_filter('robots_txt', 'AddToRobotsTxt', 10, 2);

您还可以使用此钩子动态地将robots.txt文件完全替换为您自己的文件。您将在functions.php文件中执行以下操作:

function ReplaceRobotsTxt($robotstext, $public) {
    $robotstext = "User-agent: SomeBot
                   Allow: /";
    return $robotstext;
}
add_filter('robots_txt', 'ReplaceRobotsTxt', 10, 2);

关于add_filter函数中的最后两个参数,10是$priority参数,它定义了您的函数相对于其他函数何时运行。 2是$accepted_args参数,它告诉WP您要添加的功能将使用多少个参数。

有关robots_txt钩子check out this link的更多信息。