Архив | Как сделать? RSS лента для этой рубрики

Показываем твиты в WordPress блоге

21 Март 2010

37 Comments

В последнее время, с развитием твиттера, стало популярным отображать сообщения из твиттера, для этого чаще всего используются плагины. Но иногда бывает нужно оформить сообщения под стиль блога или выводить их в нестандартном месте блога. В этом случае для вывода твитов, больше подходит сегодняшний способ.

<ul>
<?php
$feedURL = "http://twitter.com/statuses/user_timeline/9108312.rss"; // измените на адрес RSS из twitter-а
$doc = new DOMDocument();
$doc->load($feedURL);
$arrFeeds = array();
foreach ($doc->getElementsByTagName('item') as $node) {
    $itemRSS = array ( 
        'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
        );
    array_push($arrFeeds, $itemRSS);
}
$limit = 5; // количество сообщений для вывода.
for($x=0;$x<$limit;$x++) {
    $title = str_replace('donchenko: ', '', $arrFeeds[$x]['title']); // замените donchenko на ваш логин в твиттере.
    $str = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a href=\"\\0\">\\0</a>", $title); 
    $pattern = '/[#|@][^\s]*/';
    preg_match_all($pattern, $str, $matches);	
 
    foreach($matches[0] as $keyword) {
        $keyword = str_replace(")","",$keyword);
        $link = str_replace("#","%23",$keyword);
        $link = str_replace("@","",$keyword);
        if(strstr($keyword,"@")) {
            $search = "<a href=\"http://twitter.com/$link\">$keyword</a>";
        } else {
            $link = urlencode($link);
            $search = "<a href=\"http://twitter.com/#search?q=$link\" class=\"grey\">$keyword</a>";
        }
        $str = str_replace($keyword, $search, $str);
    }
    echo '<li>'.$str.'</li>';
}
?>
</ul>

Вставьте этот код в место на вашем блоге, где нужно выводить сообщения твиттера и наслаждайтесь.

Данная функция была подсмотрена здесь.

Если что-то не работает, пишите в комментариях и не забывайте подписаться на мой твиттер.

Продолжить чтение...

Кнопка Google Buzz в вашем блоге

12 Февраль 2010

20 Comments

Как вы уже наверное слышали, Google запустил новый сервис, который называется Живая Лента или другое его название Buzz. Написано на тему этого сервиса уже много, некоторым он нравится, некоторым не очень. Для тех кому нравится, расскажу сегодня как добавить кнопку Buzz в ваш WordPress блог.

Для этого необходимо отредактировать файл single.php и в нужном месте добавить в него следующий код:

 
&lt;a href=&quot;http://www.google.com/reader/link?url=&amp;title=&amp;srcURL=" target="_blank" rel="nofollow external"&gt;<img src="http://i45.tinypic.com/2r4kbcp.jpg" width="50" height="58" alt="" /></a>

Картинку, которая находится по ссылке: http://i45.tinypic.com/2r4kbcp.jpg лучше всего сохранить, и загрузить на свой сервер, и в этом коде, изменить ссылку на картинку.

Еще по теме:

  • Плагин который показывает посетителю блога, последние обновления на вашем Google Buzz.
  • И еще один плагин, который показывает Ваши посты на Google Buzz.

Постовой: Купил отличный газобетон для строительства домов.

Продолжить чтение...

Ковыряемся в the_excerpt

10 Февраль 2010

22 Comments

Этот пост больше предназначен для тех, кто любит самостоятельно ковырять шаблоны для WordPress блога.

Функция the_excerpt () отвечает за вывод сокращенной версии поста, например сокращенный вывод постов, чаще всего настраивают на страницах архивов, категорий или тегов.

Изначально эта функция показывает первые 55 слов из записи, после чего пишет [...] для дальнейшего прочтения записи, Вам необходимо щелкнуть на заголовке записи.

Довольно часто, возникает необходимость увеличить количество слов или уменьшить, а также убрать троеточие или кавычки, сделать это в принципе не сложно и сегодня я расскажу как именно это можно сделать.

Практически в любом случае, нужно просто добавить кусочек кода в файл functions.php в папке с шаблоном блога.

Регулируем количество слов:

<?php 
function new_excerpt_length($length) {
	return 20;
}
add_filter('excerpt_length', 'new_excerpt_length'); 
?>

В данном случае цифрой 20 задается количество слов, которое будет выводить функция the_excerpt ().

Играем с троеточием:

Для блогов которые работают на WordPress > 2.9 код выглядит вот так:

<?php 
function new_excerpt_more($more) {
	return '[.....]';
}
add_filter('excerpt_more', 'new_excerpt_more');
?>

Попробуйте изменить [.....]

Для блогов на WordPress < 2.8 этот же код будет выглядеть вот так:

<?php 
function new_excerpt_more($excerpt) {
	return str_replace('[...]', '...', $excerpt);
}
add_filter('wp_trim_excerpt', 'new_excerpt_more');
?>

В данном случае функцией str_replace меняется [...] на ... собственно вместо обычного троеточия, можно поставить что угодно.

Как нам известно, функция эта выводит краткую версию поста, но не выводит ссылку типа «Продолжить чтение», для этого воспользуемся следующим хаком:

<?php
function new_excerpt_more($more) {
return '<a href="'. get_permalink($post->ID) . '">' . ' читать далее ..' . '</a>';
}
add_filter('excerpt_more', 'new_excerpt_more');
?>

Не забываем, что этот код добавляется в файл functions.php в папке шаблона WordPress блога, если такого файла не существует, создайте его самостоятельно. Все это можно прочитать на английском языке, в документации WordPress.

Продолжить чтение...

Ошибка 404 при размещении комментария

9 Февраль 2010

27 Comments

Сегодня закончил разбираться с очередной проблемой на WordPress блоге. При размещении комментария, пользователь переадресовывался на страницу 404, а в адресной строке адрес выглядел как http://blog.com/postname//#comment из-за двойной косой черты и появлялась ошибка 404.

Изначально грешил на плагин какой-то или на функции шаблона, при детальном рассмотрении оказалось, что проблема заключалась в ошибке шаблона ЧПУ (постоянных ссылок) схема ссылок выглядела вот так "/%postname%/ " как видите, в конце шаблона стоит пробел, который и давал подобный эффект.

Переписываем заново шаблон ссылок, обновляем структуру ссылок, получаем отлично работающий блог. Будьте внимательнее при настройке вашего блога, всего одна маленькая опечатка может привести к очень странным проблемам.

Продолжить чтение...