有一个解决方案described here 您可以将代码放在wp-includes/feed-rss2.php
验证请求者是否是已注册的WordPress用户。更好的解决方案是将其添加到主题中functions.php
文件:
function my_check_feed_auth() {
if (!isset($_SERVER[\'PHP_AUTH_USER\'])) {
header(\'WWW-Authenticate: Basic realm="RSS Feeds"\');
header(\'HTTP/1.0 401 Unauthorized\');
echo \'Feeds from this site are private\';
exit;
} else {
if (is_wp_error(wp_authenticate($_SERVER[\'PHP_AUTH_USER\'],$_SERVER[\'PHP_AUTH_PW\']))) {
header(\'WWW-Authenticate: Basic realm="RSS Feeds"\');
header(\'HTTP/1.0 401 Unauthorized\');
echo \'Username and password were not correct\';
exit;
}
}
}
add_action(\'do_feed_rss2\', \'my_check_feed_auth\', 1);
add_action(\'do_feed_atom\', \'my_check_feed_auth\', 1);
add_action(\'do_feed_rss\', \'my_check_feed_auth\', 1);
add_action(\'do_feed_rdf\', \'my_check_feed_auth\', 1);
这将需要使用用户的WordPress登录信息进行基本身份验证,大多数RSS阅读器都可以配置基本身份验证。您可以使用更多
add_action
打电话,如果你愿意的话。