WordPress: Яндекс.Блоги вместо Technorati

December 5, 2006 – 7:03 pm

Этот небольшой хак панели управления WordPress позволит вам получать список входящих ссылок по результатам выдачи Яндекс.Блогов вместо Technorati.

Открываем файл /wp-admin/index.php, примерно в районе 20-й строки ищем следующий блок кода:

<?php
$rss = @fetch_rss(’http://feeds.technorati.com/cosmos/rss/?url=’. trailingslashit(get_option(’siteurl’)) .’&partner=wordpress’);

if ( isset($rss->items) && 0 != count($rss->items) ) {
?>
<div id=”incominglinks”>
<h3><?php _e(’Incoming Links’); ?> <cite><a href=”http://www.technorati.com/search/<?php echo trailingslashit(get_option(’siteurl’)); ?>?partner=wordpress”><?php _e(’More’); ?> »</a></cite></h3>
<ul>
<?php
$rss->items = array_slice($rss->items, 0, 10);
foreach ($rss->items as $item ) {
?>

Заменяем его на следующий код:

<?php
$rss = @fetch_rss(’http://blogs.yandex.ru/search.rss?link=’. trailingslashit(get_option(’siteurl’)). ”);

if ( isset($rss->items) && 0 != count($rss->items) ) {
?>
<div id=”incominglinks”>
<h3><?php _e(’Incoming Links’); ?> <cite><a href=”http://blogs.yandex.ru/search.xml?link=<?php echo trailingslashit(get_option(’siteurl’)); ?>”><?php _e(’More’); ?> »</a></cite></h3>

    <?php
    $rss->items = array_slice($rss->items, 0, 10);
    foreach ($rss->items as $item ) { /* converting link title from Win-1251 to UTF-8 */ $item['title'] = iconv(”CP1251″, “UTF-8″, $item['title']);
    ?>

Update: видимо в WordPress 2.0.5 принудительно перекодировать заголовок ссылки не нужно, т.е. строку /* converting link title from Win-1251 to UTF-8 */ $item['title'] = iconv(”CP1251″, “UTF-8″, $item['title']); можно просто убрать.


Комментариев (26) к “WordPress: Яндекс.Блоги вместо Technorati”

  1. Новости 2.0 пишет:

    Обсудите эту новость на news2.ru

  2. gavniloff@livejournal пишет:

    да ты хакир йопта!

  3. Вэ пишет:

    спасибо! отличный пост…

  4. Александр Бишоп пишет:

    велкам ;-)

  5. Александр Бишоп пишет:

    кулхацкер, йопто!

  6. сергей пишет:

    у меня выдает ошибку )))

  7. Александр Бишоп пишет:

    ругается на отсутствие iconv?

  8. сергей пишет:

    Parse error: parse error, unexpected ‘:’ in /home/yiyjabkfoz/skomi.com/wp-content/themes/blue/index.php on line 21

  9. сергей пишет:

    у меня вот такой код в начале страницы…может подскажете что исправть…я в php не силен )))


    “>

    Digg
    “>Del.icio.us

  10. сергей пишет:

    блин ! прошу прощения. хотел указать код (((

  11. Александр Бишоп пишет:

    Parse error: parse error, unexpected ‘:’ in /home/yiyjabkfoz/skomi.com/wp-content/themes/blue/index.php on line 21

    так это проблема в файле темы, а не в /wp-admin/index.php.

    видимо вы там что-то не то поменяли. попробуйте зайти сразу в панель администратора: skomi.com/wp-admin/

  12. сергей пишет:

    ну да перепутал :-) но ошибка все равно вылазит хоть тресни….

  13. сергей пишет:

    и как правильно настроить плагин для picasa ? установил его а где настройки. прошу не пинать - я только учусь )))

  14. Александр Бишоп пишет:

    перепроверьте все одинарные и двойные кавычки. при копировании кода прямо с этой страницы они могут быть заменены на знак вопроса.

    еще я столкнулся с одной странной вещью. в одном моём блоге заголовки ссылок приходится перекодировать ($item[’title’] = iconv(”CP1251″, “UTF-8″, $item[’title’]);) а в другом - нет.

    первый блог работает на движке WordPress MU 1.0, второй под 2.0.5.

  15. Александр Бишоп пишет:

    это не просто плагин, а виджет. для того, чтобы он заработал нужно установить Widgets Plugin (widgets.wordpress.com)

  16. сергей пишет:

    все равно ошибка ! все проверил !
    $rss = @fetch_rss(’http://blogs.yandex.ru/search.rss?link=’. trailingslashit (get_option(’siteurl’)). ’’);
    ругается именно вот на эту строчку…
    кодировка у меня стоит по умолчанию….

  17. Александр Бишоп пишет:

    самые последние две кавычки должны быть одинарными.

    какая именно ошибка?

  18. сергей пишет:

    Parse error: parse error все таже

  19. сергей пишет:

    Parse error: parse error, unexpected T_STRING

  20. сергей пишет:

    исправил все кавычки стало выдавать такое
    Parse error: parse error, unexpected $ in /home/yiyjabkfoz/skomi.com/wp-admin/index.php on line 166
    это последняя строка в файте

  21. Александр Бишоп пишет:

    перед какой-то переменной не хватает знака $ или где-то отсуствует точка с запятой. советую вернуть на место старый файл и поменять только вот эту строчку: (’http://feeds.technorati.com/cosmos/rss/?url=’. trailingslashit(get_option(’siteurl’)) .’&partner=wordpress’);

    на вот эту: (’http://blogs.yandex.ru/search.rss?link=’. trailingslashit(get_option(’siteurl’)). ‘’);

    для того, чтобы указать фид, и вот эту <a href=”http://www.technorati.com/search/< ?php echo trailingslashit(get_option(’siteurl’)); ? rel="nofollow">?partner=wordpress”>

    на вот эту <a href=”http://blogs.yandex.ru/search.xml?link=< ?php echo trailingslashit(get_option(’siteurl’)); ? rel="nofollow">”> чтобы ссылка вела на сайт я.блоги вместо технорати.

    ну и можно в конце добавить /* converting link title from Win-1251 to UTF-8 */ $item[’title’] = iconv(”CP1251″, “UTF-8″, $item[’title’]); если русские символы не будут правильно отображаться.

  22. OranGeorge пишет:

    Для версии 2.1.2 и скорее всего более старших версий
    функция находится в файле wp-admin/index-extra.php
    Ищите строчку
    case ‘incominglinks’ :
    и вносите соответствующие изменения

  23. igrok54 пишет:

    Ошибка, их-за которой код не работал - исправьте ВСЕ кавычки в коде - и ‘, и ” и будет вам счастье…

  24. Blogger пишет:

    У меня почему-то нет такого когда в /wp-admin/index.php

  25. Александр Бишоп пишет:

    это относится к WP 2.1. Не уверен, что будет работать с более поздними версиями.

  26. http://www.ctocopok.ru/blog/ пишет:

    в 2.0.7 и 2.3 конвертацию кодировок делать НУЖНО.

Оставить комментарий

Вы должны войти (OpenID или ника в ЖЖ), чтобы комментировать.