Меняем адрес фида в WordPress 2.7.1
Зарегистрировался в FeedBurner, решил, так скажем, сжечь свой фид (feed).
И столкнулся с одной проблемкой — смена адреса фида как в мета-тегах блога, так и в прочих ссылках, используемых по умолчанию. В настройках такое не предусмотрено — это меня удивило.
Первым делом полез в редактор тем, нашел шаблон header.php, и что же я там увидел?

<link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed" href="<?php bloginfo('rss2_url'); ?>" />

адрес получаем от некоторой функции bloginfo. Да, можно тупо изменить этот код, убрав включение php-кода, но что если это используется и в других местах? Вручную менять везде?
Полезем глубже и увидим что в функции bloginfo выполняется некая другая, которой передается тот же параметр rss2_url и ответ возвращается, и так по цепочке. Копать код всё глубже и глубже — да Вы шутите! Я таки нашел правильное решение, и вот каким образом.
Первым делом я полез в гугл и нашел уйму способов, в основном это химия с htaccess или нечто посредственное, не трогающее сути. Да, оно работало, но какой же порядок, когда одно наезжает на другое, предусмотренное ранее?

Открыл я все файлы из архива с WordPress 2.7.1 через Notepad++, замечательная программа.
Поиск — Поиск…
Что искать: rss2_url и жмём искать всё в активных документах.
Внизу появляется список и мы его усердно копаем;)

А теперь раскрою карты)

1) Открываем wp-includes/general-template.php через Notepad++ (удобно искать номер строки, который я назову + сохраним в utf-8 без BOM).
2) Ищем строку 269 (для WordPress 2.7.1) и видим следующее:

		case 'rdf_url':
			$output = get_feed_link('rdf');
			break;
		case 'rss_url':
			$output = get_feed_link('rss');
			break;
		case 'rss2_url':
			$output = get_feed_link('rss2');
			break;
		case 'atom_url':
			$output = get_feed_link('atom');
			break;
		case 'comments_atom_url':
			$output = get_feed_link('comments_atom');
			break;
		case 'comments_rss2_url':
			$output = get_feed_link('comments_rss2');
			break;

Нас интересует только этот участок кода.
3) Недолго думая, сделаем так, чтобы при всех этих вариантах возвращался наш адрес (для меня это http://feeds2.feedburner.com/parsers):

		case 'rdf_url':
		case 'rss_url':
		case 'rss2_url':
		case 'atom_url':
		case 'comments_atom_url':
		case 'comments_rss2_url':
			$output = 'http://feeds2.feedburner.com/parsers';
			break;

4) Готово! Обновляем файл и наслаждаемся)

PS Как в кино — нужно копаться в коде, что-то менять, а в результате такой потрясающий результат :) Кино новинки 2010 — наверняка что-то похожее найдётся.