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

Декабрь 5, 2006 – 7:03 пп

Этот небольшой хак панели управления 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']); можно просто убрать.


  • http://news2.ru/story.php?story_id=14680 Новости 2.0

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

  • http://www.livejournal.com/users/gavniloff/ gavniloff@livejournal

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

  • Вэ

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

  • http://a-bishop.spb.ru Александр Бишоп

    велкам ;-)

  • http://a-bishop.spb.ru Александр Бишоп

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

  • сергей

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

  • http://a-bishop.spb.ru Александр Бишоп

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

  • сергей

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

  • сергей

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


    «>

    Digg
    «>Del.icio.us

  • сергей

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

  • http://a-bishop.spb.ru Александр Бишоп

    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/

  • сергей

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

  • сергей

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

  • http://a-bishop.spb.ru Александр Бишоп

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

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

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

  • http://a-bishop.spb.ru Александр Бишоп

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

  • сергей

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

  • http://a-bishop.spb.ru Александр Бишоп

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

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

  • сергей

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

  • сергей

    Parse error: parse error, unexpected T_STRING

  • сергей

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

  • http://a-bishop.spb.ru Александр Бишоп

    перед какой-то переменной не хватает знака $ или где-то отсуствует точка с запятой. советую вернуть на место старый файл и поменять только вот эту строчку: (’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’]); если русские символы не будут правильно отображаться.

  • http://blog.megafoncity.ru OranGeorge

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

  • http://www.genwayinfo.com igrok54

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

  • http://my-volgodonsk.com Blogger

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

  • http://a-bishop.spb.ru Александр Бишоп

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

  • http://www.ctocopok.ru/blog/ http://www.ctocopok.ru/blog/

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