Четыре новых усовершенствования на моем блоге

Объявления:

Сайт дня (как попасть): Практические семинары по SEO

Дорогие друзья, сегодня я поделюсь с вами несколькими усовершенствованиями, которые я сделал на блоге Shakin.ru в последнее время.

Четыре новых усовершенствования на моем блоге

О предыдущих усовершенствованиях моего блога вы можете почитать в этих постах:

Как встроить кнопку Google Buzz на свой блог

Мои новые наработки в Твиттере

Как встроить поиск Google на свой сайт

6 сервисов кнопок retweet

Три эффективных усовершенствования, которые я сделал на shakin.ru + бонус

Кнопка retweet в RSS ленте

Давно я хотел добавить кнопку ретвита в RSS ленту блога, и хотелось сделать это без плагинов. Недавно я задавал вопрос о том, как это реализовать в своем твиттере и на этом блоге. Хочу искренне поблагодарить Сергея Фещукова за то, что он нашел способ, как это сделать. В своем посте Добавляем кнопку ретвита в RSS-ленту без плагинов Сергей не только подробно объяснил, как это реализовать, но и выложил готовые файлы для разных версий Wordpress.

Благодаря Сергею, кнопка ретвита теперь доступна в RSS ленте (чтобы посмотреть, как это выглядит, кликните по крысе с сыром в верхней части боковой колонки этого блога), что дает возможность RSS подписчикам делиться понравившимися материалами моего блога в твиттере прямо из своих RSS читалок.

Выпадающие архивы по месяцам

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

Выпадающие архивы по месяцам Wordpress

Самый лучший вариант, на мой взгляд - сделать архивы выпадающими. Для этого в папке с темой вашего блога открываем файл sidebar.php и находим такой код:

<?php wp_get_archives('type=monthly'); ?>

и заменяем его на такой:

<select  name=\"archive-dropdown\"  onChange='document.location.href=this.options[this.selectedIndex].value;'  id="arch">
<option value=\"\"><?php echo attribute_escape('Выберите месяц'); ?></option>
<?php wp_get_archives('type=monthly&format=option&show_post_count=1'); ?> </select>

Если вам не нужно показывать в скобках число записей около каждого месяца, то меняете show_post_count=1 на show_post_count=0.

В итоге архивы занимают минимум места при том же функционале - каждый месяц доступен в один клик. Красота! Идем дальше :) .

Выпадающие теги

Чувствую, у вас сейчас промелькнула мысль, мол, а почему бы не сделать выпадающим что-либо еще? Вот и у меня недавно промелькнула точно такая же. Прямо чувствуешь себя настоящим магом и чародеем ;) .

Что же можно сделать выпадающим еще? Категории я сделал облаком (без плагина, просто оформил обычным html кодом и подобрал подходящие цвета), которое так люблю, что не хочу менять ни на что другое :) .

Тэ-э-э-к-сс… Точно! Теги! До недавнего времени тегов у меня не было. Когда заводил блог, в теме они не выводились, а потом как-то руки не доходили.

Выпадающие теги Wordpress

Облако тегов делать не стал - оно получилось бы большим, крутящееся облако на flash - встречается повсеместно. Поэтому решил сделать теги выпадающими. Пусть они не прибраны - есть дублирующиеся, есть одни и те же с заглавной и прописной буквы, поле тегов разной ширины по сравнению с соседним окном поиска по блогу, есть непонятный тег «1», но я на это внимания не обращаю. Я считаю себя свободным художником, а у художника должен быть творческий беспорядок :) . Куда-то я опять ушел в сторону ;) .

Итак, выпадающие теги делаем так. Сначала в папке с вашей темой Wordpress в файле functions.php в самом конце перед ?> вставляем такой код:

// // // Выпадающие теги - начало кода // // //
function dropdown_tag_cloud( $args = '' ) {
$defaults = array(
'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45,
'format' => 'flat', 'orderby' => 'name', 'order' => 'ASC',
'exclude' => '', 'include' => ''
);
$args = wp_parse_args( $args, $defaults );
$tags = get_tags( array_merge($args, array('orderby' => 'count', 'order' => 'DESC')) );
if ( empty($tags) )
return;
$return = dropdown_generate_tag_cloud( $tags, $args );
if ( is_wp_error( $return ) )
return false;
else
echo apply_filters( 'dropdown_tag_cloud', $return, $args );
}
function dropdown_generate_tag_cloud( $tags, $args = '' ) {
global $wp_rewrite;
$defaults = array(
'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 255,
'format' => 'flat', 'orderby' => 'name', 'order' => 'ASC'
);
$args = wp_parse_args( $args, $defaults );
extract($args);
if ( !$tags )
return;
$counts = $tag_links = array();
foreach ( (array) $tags as $tag ) {
$counts[$tag->name] = $tag->count;
$tag_links[$tag->name] = get_tag_link( $tag->term_id );
if ( is_wp_error( $tag_links[$tag->name] ) )
return $tag_links[$tag->name];
$tag_ids[$tag->name] = $tag->term_id;
}
$min_count = min($counts);
$spread = max($counts) - $min_count;
if ( $spread <= 0 )
$spread = 1;
$font_spread = $largest - $smallest;
if ( $font_spread <= 0 )
$font_spread = 1;
$font_step = $font_spread / $spread;
if ( 'name' == $orderby )
uksort($counts, 'strnatcasecmp');
else
asort($counts);
if ( 'DESC' == $order )
$counts = array_reverse( $counts, true );
$a = array();
$rel = ( is_object($wp_rewrite) && $wp_rewrite->using_permalinks() ) ? ' rel="tag"' : '';
foreach ( $counts as $tag => $count ) {
$tag_id = $tag_ids[$tag];
$tag_link = clean_url($tag_links[$tag]);
$tag = str_replace(' ', '&nbsp;', wp_specialchars( $tag ));
$a[] = "\t<option value='$tag_link'>$tag ($count)</option>";
}
switch ( $format ) :
case 'array' :
$return =& $a;
break;
case 'list' :
$return = "<ul class='wp-tag-cloud'>\n\t<li>";
$return .= join("</li>\n\t<li>", $a);
$return .= "</li>\n</ul>\n";
break;
default :
$return = join("\n", $a);
break;
endswitch;
return apply_filters( 'dropdown_generate_tag_cloud', $return, $tags, $args );
}
// Выпадающие теги - конец кода //

И затем выводим выпадающие теги в боковой колонке - открываем sidebar.php в папке с темой вашего блога и в нужном месте вставляем такой код:

<select name="tag-dropdown" style="width:180px; margin-left:10px;" onchange="document.location.href=this.options[this.selectedIndex].value;" id="tag">
<option value="#">Нажмите здесь</option>
<?php dropdown_tag_cloud('number=0&order=asc'); ?>
</select>

Ширину width:180px и отступ слева margin-left:10px поменяйте на подходящие для вашего дизайна.

Вывод внешних ссылок на блог

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

Я назвал этот блок «Друзья Shakin.ru». Внешние ссылки собираются с поиска Яндекса по блогам. Приведу код, который выводит список внешних ссылок (размещаем его в нужном месте файла sidebar.php):

<h2>Друзья Shakin.ru</h2>
<a href="http://shakin.ru/ksp"><b>Как сюда попасть &darr;</b></a><br><br>
<?php
include_once(ABSPATH.WPINC.'/rss.php');
$feed = fetch_rss('http://blogs.yandex.ru/search.rss?link=shakin.ru&ft=blog'); // Укажите свой сайт
$items = array_slice($feed->items, 0, 7); // Число выводимых ссылок - 7
?>
<?php if (!empty($items)) : ?>
<?php foreach ($items as $item) : ?>
<div class="sidebar1"><a href="<?php echo $item['link']; ?>"><?php echo $item['title']; ?></a>
<p><?php echo $item['description']; ?></p></div>
<?php endforeach; ?>
<?php endif; ?><br>

Если хотите выводить этот блок не на всех страницах, а только на главной вашего блога, то перед вышеупомянутым кодом поместите такую строку:

<?php if ($_SERVER[”REQUEST_URI”] == ‘/’) { ?>
А после вышеупомянутого кода - такую:

<?php } else {?> <?php } ?>
Для информации я создал страницу Как попасть в блок “Друзья Shakin.ru”, в которой описал назначение блока. Для оформления внешнего вида выводимых ссылок в файле стилей style.css в папке с вашей темой Wordpress добавляем такой код:

.sidebar1 a:link, .sidebar1 a:visited {
color: #f0670b;
text-decoration: underline;
}
.sidebar1 p {
color: #ccc;
text-decoration: none;
border-bottom: 1px dotted #ccc;
font-size: 80%;
}

В целом хочу сказать, что с введением блока внешних ссылок наблюдаю, что на мой блог стали больше и чаще ссылаться.

Я и в дальнейшем буду делиться усовершенствованиями своего блога.

Желаю Вам отличного настроения, такого, как у меня сейчас!

Глобатор

Постовой (как попасть + обмен ссылками): Вам нужна вентиляция в доме? Установки Климат - монтаж и проектирование.

Эффективная раскрутка сайтов

Новости для вебмастеров на http://gaziboo.ru/

Десерт на сегодня - видео о самом большом закрытом бассейне в мире в Японии, который вмещает 6000 человек:


Буду благодарен, если поделитесь этой статьей:
Опубликовать в twitter.com Опубликовать в своем блоге livejournal.com
Приглашаю присоединиться ко мне в следующих сервисах:
Мои группы:
↑ Как поставить такие же кнопки на свой сайт ↑
Эффективное продвижение статьями
Комментарии Вконтакте:

Пора попить кофе!
Комментарии Facebook:
Комментарии Wordpress:
Комментариев: 13

1. АлаичЪ 05 апреля 2010 в 4:44 pm

О! Спасибо за кнопку ретвита в RSS ленте, все никак не могу до нее добраться. Обязательно сегодня же сделаю!

2. Валентина Успешная 05 апреля 2010 в 4:46 pm

Спасибо, Михаил! Про выпадающие теги отличная идея. Будем применять.

3. Panovosti 05 апреля 2010 в 5:03 pm

Будет полезно, если отдавать посты в RSS-ленту полностью. У вас же, Михаил, посты отдаются частично, и по-любому приходится переходить на блог.

4. Lady Maksima 05 апреля 2010 в 6:02 pm

Тоже планирую сделать вывод ссылающихся сайтов, а тут готовое решение :) А есть ли способ запретить выводить некоторые ссылки в этом блоке?

5. Krasnagor 05 апреля 2010 в 7:38 pm

Михаил а как вы сделали категории облаком (без плагина, просто оформил обычным html кодом)?

6. stilusmen 06 апреля 2010 в 12:13 am

Заметил на главной блок "друзья сайта" а теперь знаю как реализовать. Интересно на движке joomla такое можно сделать?

7. Bitman 06 апреля 2010 в 7:59 pm

if ($_SERVER["REQUEST_URI"] == ‘/’)

лучше

is_home()

8. Sa7cez 06 апреля 2010 в 10:20 pm

Сделал у себя на блогах тоже самое, после вашего поста. Спасибо за информацию!

9. Глобатор 07 апреля 2010 в 5:08 pm

Bitman, спасибо!

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

Lady Maksima, интересный вопрос. Возможно, это можно реализовать, но я пока не знаю, как.

10. Bogdan 07 апреля 2010 в 9:18 pm

Про Retweet в RSS ленте спс! Надо будет заиметь такую штукенцию!

11. Snapshot 08 апреля 2010 в 2:18 pm

Что-то я не пойму, Михаил, подскажите пожалуйста, тоже решил сделать блок "Друзья", делаю поиск ссылки на свой блог по всем блогам и форумам исключая twitter и исключая свой аккаунт на livejournal куда кросспостятся мои сообщения, вот запрос blogs.yandex.ru/search.xml?text=&ft=all&link=nikonfan.ru&server=twitter.com&x_server=on&author=nikonfan-ru&x_author=on&holdres=mark, выдаётся не мало линков, но в rss того же запроса blogs.yandex.ru/search.rss?ft=all&link=nikonfan.ru&server=twitter.com&x_server=on&author=nikonfan-ru&x_author=on&holdres=mark лишь одна ссылка, в чём косяк?

12. Глобатор 08 апреля 2010 в 7:32 pm

Snapshot, что-то Вы сделали не так. Проделайте по моим кодам, должно все работать. Я брал рабочие примеры с этого блога.

13. Эхо-браво 16 апреля 2010 в 4:40 am

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

Подписаться на обновления shakin.ru по RSS

Количество RSS подписчиков Рейтинг блогов




Новый сервис ссылок навсегда





Эффективная биржа ссылок

Обновления сайта

Читать Shakin.ru в твиттере
Читать Shakin.ru в Google Reader
Читать Shakin.ru в Яндекс.Ленте


Достигнутые цели


Мои бесплатные рекомендации

В случае перепечатки материалов обязательно мое письменное разрешение и прямая индексируемая ссылка на Shakin.ru
Продвижение сайтов, веб-дизайн и креатив © 2007-2012