Рабочие будни

Архивы

Информация о настенно-потолочных кондиционерах Nocria . На web-сайте нашей компании увидите: скачать новые фильмы, при 2146 - заходите . ЭНЕРГО АВАНГАРД - Испытательный пресс.  

Archive for the ‘plugins’ Category

Лечим Show Top Commentators

Понедельник, ноября 3, 2008

Плагин Show Top Commentators для WordPress некорректно обрезает имена комментаторов. Как оказалось он не способен правильно работать с текстом utf8 отличным от латиницы. Но всё поправимо. Открываем файл show_top_commentators.php

Находим строки:

function ns_substr_ellipse($str, $len) {
if(mx_strlen($str, 'utf-8') > $len) {
$str = mb_substr($str, 0, $len-3, 'utf-8') . "...";
}
return $str;
}

И заменяем их на эти:

function ns_substr_ellipse($str, $len) {
if ( iconv_strlen( $str, 'utf-8' ) > $len ) $str = iconv_substr( $str, 0, $len, 'utf-8' ). "...";
return $str;
}

P.S. Багфикс отправил автору, поди исправит в следующей версии...

Оптимизация pagenavi

Понедельник, ноября 3, 2008

Прочитав пост уважаемого Жомарта (после увидев статью Ярослава Бирзул) и посмотрев функционал navi.php, решил внести свои 5ть копеек.

В итоге взял функцию пагинации из темы уважаемого www.acosmin.com и чуток доработал.

Получилось вот что:

function wp_pagenavi2() {
global $paged, $wp_query;
$pages_to_show = 5; //сколько ссылок делать по сторонам
$max_page = $wp_query->max_num_pages;
if($max_page>1){
if(empty($paged)) {
$paged = 1;
}
$prelabel  = '<strong>&amp;laquo;</strong>';
$nxtlabel = '<strong>&amp;raquo;</strong>';
$half_pages_to_show = round($pages_to_show/2);

if($max_page > 1) {
echo "$before <div class='Nav'><span>Стр. ($max_page): </span>";
if ($paged >= ($pages_to_show-1)) {
echo '<a href="'.get_pagenum_link().'">&amp;laquo; Первая</a> ... ';
}
previous_posts_link($prelabel);
for($i = $paged — $half_pages_to_show; $i  <= $paged + $half_pages_to_show; $i++) {
if ($i >= 1 &amp;&amp; $i <= $max_page) {
if($i == $paged) {
echo "<strong class='on'>$i</strong>";
} else {
echo ' <a href="'.get_pagenum_link($i).'">'.$i.'</a> ';
}
}
}
next_posts_link($nxtlabel, $max_page);
if (($paged+$half_pages_to_show) < ($max_page)) {
echo ' ... <a href="'.get_pagenum_link($max_page).'">Последняя &amp;raquo;</a>';
}
echo "<div class='NavEnd'></div></div> $after";
}
}
}

Вызывается оно просто:

<?php if(function_exists('wp_pagenavi2')) { wp_pagenavi2(); } ?>

Кода не намного больше, но есть некоторые полезные детали.

Отличия от navi.php: возможность перемещения на пред. и след. страницу.