WordPress Support

Плагин "Category and Page Icons" добавляет иконки страницам и рубрикам.

Добавлено 4 мая 2010 в категорию Плагины.

Данный небольшой плагин дает возможность добавить в навигацию рубрик и страниц указанные вами иконки. Иконки подключаются не через css стили шаблона, а напрямую, то есть сами иконки тоже являются ссылками на рубрики и страницы. Мелочь, но навигация в блоге начинает смотреться куда лучше стандартного "сухого" вывода ссылок. К сожалению, пока в плагине поддерживаются только рубрики и страницы, а хотелось бы заодно получить поддержку иконок в блогролле и других виджетах. Еще один недостаток плагина состоит в том, что по умолчанию в нем нет ни единой иконки, так что поиском нужного комплекта иконок вы должны заняться сами.

Скачиваем плагин с его домашней страницы и устанавливаем его:

1. Распаковываем архив.

2. Копируем папку category-page-icons в /wp-content/plugins/.

3. Заходим в админку блога на вкладку "Плагины" и активируем плагин.

Плагин создает свою собственную вкладку в админке блога под названием "Icons". Первым делом вам надо зайти в "IconsSettings", чтобы указать папку для загрузки иконок, а также размер, в который будут переконвертированы загружаемые иконки. Это важно! Нельзя вручную залить иконки в заданную папку, их можно добавить только через пункт "Add / Delete icons" и при этом они обязательно будут переконвертированы в тот размер, который стоит в "Thumbnail icons size", даже если иконки изначально имеют необходимый размер.

Добавление иконок, как я уже сказал, происходит в "Add / Delete icons". Нажмите кнопку "Выберите файлы" и укажите те иконки, которые вы хотите загрузить в блог. Добавление иконок довольно медленное, по несколько секунд на каждую выбранную иконку, поэтому будьте аккуратны и не добавляйте за раз пару сотен иконок (как попробовал я), чтобы не сидеть в долгом ожидании, когда наконец все иконки будут обработаны.

Для большинства шаблонов WordPress наиболее подходящими будут иконки с размером 16 на 16 пикселей. Однако если вы хотите использовать иконки разных размеров, скажем, 32×32 для страниц и 16×16 для рубрик, то вам для этого надо сначала указать размеры 32×32 в "IconsSettings", залить нужные иконки, а затем поменять в "IconsSettings" размеры на 16×16 и залить следующую партию иконок.

Присвоить иконки для страниц и рубрик вы можете в "Assign icons to Pages" и "Assign icons to Categories". Никаких больше настроек, виджетов или изменений кода шаблона вам делать не надо. Плагин, по сути, вешает хук на вызов функций показа страниц и рубрик и заменяет их своим кодом. Не знаю насколько это корректный путь, но никаких проблем с плагином во время тестирования мне заметить не удалось.

 

Автор плагина: Dima Sereda
Страница плагина: [ссылка]
Рассматриваемая версия: 0.2 от 16.09.2009
Совместимость с версией WordPress: 2.7 и выше.

Добавляем тегам атрибут nofollow, чтобы запретить утекание PR

Добавлено 1 мая 2010 в категорию Плагины.

С удивлением после последнего апа PR в Google заметил, что многие страницы тегов получили PR, отличный от нуля. Удивление вызвал тот факт, что индексация тегов на моих блогах запрещена через файл robots.txt (чтобы не было дублирующего контента). У меня как-то из головы вылетел тот факт, что Google передает вес ссылающейся страницы в любом случае, кроме тех, когда в ссылке присутствует атрибут nofollow. Неприятно это для меня тем, что индексируемые рубрики в блоге при этом никакого PR не получили вообще. А PR со страниц тегов никуда у меня не перетекает по причине того, что эти страницы запрещены к индексации. Я не слишком большой специалист в SEO и поэтому не могу понять почему PR на страницы тегов перетек, а на страницы рубрик нет – но думаю не лишним будет запретить утекание PR на неиндексируемые страницы тегов.

Плагина, который бы добавлял nofollow в ссылки на теги я не нашел, а поэтому придется редактировать файл движка wp-includescategory-template.php, находим в нем строчку:

912
$term_links[] = '<a href="' . $link . '" rel="tag">' . $term->name . '</a>';

меняем ее на:

912
$term_links[] = '<a href="' . $link . '" rel="tag nofollow">' . $term->name . '</a>';

и еще находим строчку:

683
$a[] = "<a href='$tag_link' class='tag-link-$tag_id' title='" . esc_attr( $topic_count_text_callback( $real_count ) ) . "' style='font-size: " .

и тоже ее меняем на:

683
$a[] = "<a href='$tag_link' class='tag-link-$tag_id' rel='nofollow' title='" . esc_attr( $topic_count_text_callback( $real_count ) ) . "' style='font-size: " .

Это все, теперь все ссылки на теги содержат атрибут nofollow. Буду благодарен, если кто-нибудь мне объяснит причину того, что страницы тегов получили PR, а страницы рубрик при этом нет, а то для меня это загадка.

Код был обновлен и теперь он актуален для версии 2.9.1.

Плагин WordPress "Clean Up Users" чистит ваш блог от неактивных пользователей.

Добавлено 30 апреля 2010 в категорию Плагины.

У вас открыта регистрация пользователей в блоге и при этом нет никакой сложной капчи? Поздравляю, весь ваш блог практически полностью забит "липовыми" пользователями спам-скриптов. За исключением, конечно, ситуации когда для написания комментария пользователю приходится зарегистрироваться в блоге. Но и тут не слишком обольщайтесь, доля спам-юзеров у вас наверняка превышает долю "честных" юзеров. Когда я избавлялся от спамных комментариев мне как-то в голову не пришло, что такой путь избавит меня только от спама в комментах, но вовсе не спасет от спама базы данных левыми профилями. Вы удивитесь, но все мои попытки найти плагин по удалению неактивных пользователей в WordPress провалились, нет таких плагинов вообще (может я плохо ищу?), а вопросы насчет чистки базы данных от неактивных юзеров на официальном форуме WordPress остаются без ответа. С трудом я нашел один единственный плагин, выполняющий данную функцию. Это плагин Clean Up Users, простенький, практически без настроек и при этом не лишенный недостатков, но справляющийся со своей работой.

Скачиваем плагин по ссылке внизу этой статьи (на домашнюю страницу плагина очень проблематично попасть с русского IP адреса) и устанавливаем его:

1. Распаковываем архив.

2. Копируем файл deleteusers.php в /wp-content/plugins/.

3. Заходим в админку блога на вкладку "Плагины" и активируем плагин.

Прежде чем начать удалять неактивных пользователей из базы данных попробуем оценить какое их количество присутствует в блоге. Для этого установим маленький хак, который даст возможность просматривать в "Авторах и Пользователях" количество комментариев у каждого пользователя. Данный хак будет включен по умолчанию в одной из следующих версий WordPress, но сейчас придется его установить вручную (установка хака совершенно необязательна, вы можете сразу начать работать с плагином).

Откройте файл wp-adminincludestemplate.php и найдите строку:

902
'posts' => __('Posts')

добавьте после нее строку:

903
'comments' => __('Comments')

найдите строку:

1897
$numposts = get_usernumposts( $user_object->ID );

добавьте после нее строку:

1898
$numcomments = get_usernumcomments( $user_object->ID );

найдите строки:

1970
1971
} else {
        $r .= 0;

и замените их строками:

1970
1971
1972
1973
1974
1975
1976
1977
	}
	$r .= "</td>";
	break;
case 'comments':
	$attributes = 'class="num"' . $style;
	$r .= "<td $attributes>";
	if ( $numcomments > 0 ) {
		$r .= $numcomments;

Откройте файл wp-adminincludesuser.php и добавьте туда после 194 строки (да в любое место между функциями) строки:

195
196
197
198
199
200
function get_usernumcomments($userid) {
	global $wpdb;
	$userid = (int) $userid;
	$count = $wpdb->get_var( $wpdb->prepare("SELECT COUNT(*) FROM $wpdb->comments WHERE user_id = %d AND comment_approved = '1'", $userid));
	return apply_filters('get_usernumcomments', $count, $userid);
}

На этом все, хак установлен и теперь вы можете наблюдать в "Авторах и Пользователях" новую колонку с количеством комментариев у пользователя. Если вам лень ковырять вручную эти файлы, то вы можете скачать уже исправленные файлы отсюда (строго для версии WordPress 2.8.4). Удивились сколько у вас пользователей ни разу не написавших комментарий?

Управление плагином находится в "ПараметрахDDCleanUpUsers". Вы увидите что-то типа:

По умолчанию плагин удаляет пользователей, у которых нет ни постов, ни комментариев и которые имеют статус "Подписчик". Если на вашем блоге зарегистрированные пользователи по умолчанию получают другую роль (например, "Автор"), то вам надо подправить плагин на строчках:

23
24
25
26
27
// user roles
$skip_admins = TRUE;
$skip_editors = TRUE;
$skip_authors = TRUE;
$skip_contributors = TRUE;

Поставьте значение "FALSE" в нужном месте (например, чтобы не пропускать "Авторов" при удалении неактивных юзеров надо поставить $skip_authors = FALSE;).

Если в вашем блоге много зарегистрированных пользователей, то после нажатия на кнопку "Submit" вам придется подождать пару минут, пока плагин проверит всех пользователей, зарегистрированных в блоге. Результатом будет что-то типа:

Интересно? Я когда увидел, что плагин удалил почти всех моих пользователей в блоге схватился за голову и подумал, что плагин напортачил и удалил вообще всех моих зарегистрированных пользователей. Собственно, выше приведенный хак я установил именно по той причине, что не поверил в то количество спам-юзеров в моем блоге, которое нашел плагин (не обращайте внимание на то, что плагин удалил 2926 пользователей, когда по скриншоту в самом начале статьи их было всего 2919 – просто пока я писал статью и делал скриншоты спам-юзеров в базе у меня прибавилось). Так вот после установки хака просмотра комментариев у юзеров я не поленился и пролистал все 59 страниц, чтобы убедиться в том, что у меня на самом деле всего 12 "честных" пользователей (и это при 1418 одобренных комментариев в блоге!). После такой статистики желание делать открытой регистрацию в блоге как-то пропадает. Ведь и в самом деле, если незарегистрированный пользователь никак не ограничен в правах, то зачем ему регистрироваться? Ведь любой современный браузер запоминает введенные поля при комментировании и пользователю банально не нужна регистрация, чтобы полноценно пользоваться блогом.

Ладно, способ отсечь регистрацию спам-юзеров я изложу в следующей статье, а пока все еще про чистку юзеров. Плагин превосходно сработал у меня на localhost, но не стал работать у хостера. Почему не стал я довольно быстро выяснил – в нем используется хитрый навороченный mysql запрос, который работает только в mysql версии 5 и выше. А у моего хостера стоит только 4 версия mysql. Перебороть хитрый запрос мне не удалось и пришлось переписать весь плагин подчистую, заменив один большой запрос на кучу маленьких, но зато встроенных в сам WordPress и поэтому работающих на любой версии mysql выше 4. Заодно плагин был и русифицирован. Вообще, когда у меня появится свободное время я доведу плагин до ума и выпущу его под другим названием, а пока пользуйтесь тем, что есть.

И последнее: прежде, чем удалять юзеров сделайте на всякий случай копию своей базы данных. Не думаю, что это обязательно, но все равно сделайте.

 

Автор плагина: Keith Dsouza

Скачать оригинальную версию плагина: cleanupusers.zip

Скачать исправленный русский плагин: cleanupusers-ru.zip

Рассматриваемая версия: 1.00 от 25.07.2009

Совместимость с версией WordPress: 2.3 и выше.