вход

Полезные функции для WordPress блога

Wordpress
Дорогие друзья, сегодня несколько простых функций для нашего любимого блога под управлением WordPress. Все эти функции достаточно просты и полезны, и установить их в WordPress не составит особого труда. Вполне вероятно, вы уже читали про них. Если так, то давайте просто освежим немного память, и посмотрим как они реализованы. Если у вас есть что добавить, вы всегда можете свободно написать об этом в комментариях. Также вам могут быть интересны хитрости WordPress.

Как отобразить среднее число комментариев на одно сообщение в блоге WordPress.

Если у вашего блога много комментариев, то полезно знать среднее число комментариев на один пост. Эту информацию можно вывести в футере блога. Вы можете вставить нже следующий код в любом месте вашей темы.

 
<?php
$count_posts = wp_count_posts();
$posts = $count_posts->publish;
 
$count_comments = get_comment_count();
$comments  = $count_comments['approved'];
 
echo "В среднем ".round($comments/$posts)." комментариев на один пост.";
?>

Этот код очень прост: сначала мы получаем общее количество опубликованных сообщений и общее число утвержденных комментариев. После этого мы просто должны разделить число утвержденных комментариев на количество сообщений.

Как отобразить общее количество обратных ссылок на ваш блог WordPress.

Для этого вы должны создать отдельную функцию. Вставьте следующий код в файл functions.php вашей темы:

 
function trackback_count() {
global $wpdb;
$count = "SELECT COUNT(*) FROM $wpdb->comments WHERE comment_type = 'pingback' OR comment_type = 'trackback'";
echo $wpdb->get_var($count);
}

После сохранения файла, вы можете вызвать функцию в любом месте где хотите:

 
<?php trackback_count(); ?>

Как отобразить количество комментариев зарегистрированных пользователей

Для этого вы можете создать отдельный файл, например wp-includes/comment.php. Вставьте следующий код в этот файл:

 
<?php
global $wpdb;
$where = 'WHERE comment_approved = 1 AND user_id <> 0';
$comment_counts = (array) $wpdb->get_results("
		SELECT user_id, COUNT( * ) AS total
		FROM {$wpdb->comments}
		{$where}
		GROUP BY user_id
	", object);
foreach ( $comment_counts as $count ) {
  $user = get_userdata($count->user_id);
//echo "<pre>"; print_r($count); echo "</pre>";
//echo "<pre>"; print_r($user); echo "</pre>";
  echo 'Пользователь ' . $user->display_name . ' число комментариев ' . $count->total . '
';
}
?>

После сохранения файла, вы можете вызвать файл wp-includes/comment.php в нужном месте.

Как добавить кнопки “удалить” и “спам” в ваши комментарии

Создайте новую функцию в файле functions.php вашей темы. И добавьте в неё такой код. Если файл functions.php не существует в вашей теме, то создайте новый.

 
function delete_comment_link($id) {
  if (current_user_can('edit_post')) {
    echo '| <a href="'.admin_url("comment.php?action=cdc&c=$id").'">del</a> ';
    echo '| <a href="'.admin_url("comment.php?action=cdc&dt=spam&c=$id").'">spam</a>';
  }
}

Затем откройте ваш файл comments.php. Добавьте код в том месте, где вы хотите вывести эту информаци. Но это должно находиться внутри цикла. В большинстве тем вы можете найти объявление edit_comment_link(). И после этого добавьте код:

 
delete_comment_link(get_comment_ID());

Как избавиться от атрибута NoFollow на вашем блоге WordPress

WordPress, как и многие другие блог-движки, использует атрибут rel="nofollow" в комментариях в первую очередь для борьбы со спамом. Может быть это и хорошая идея, но совершенно неэффективная. Поэтому блоггеры могут убрать этот атрибут со ссылок в комментариях. Аттрибут rel="nofollow" был введён Google в 2005 году. Идея была в том, что если Google не будет реагировать на ссылки с этим аттрибутом, то спамеры не будут оставлять комментарии. Идея была хорошая, но блоггеры по-прежнему получают десятки спам-комментариев в день. Если у вас блог WordPress, то весьма вероятно, что ссылки в комментариях имею аттрибут NoFollow. Но это не останавливает спамеров с их предложениями Rolex или Виагры. Если вы хотите удалить этот атрибут со своего блога, то есть два способа:

1. Редактирование ядря WordPress:

Модификация ядра WordPress, как правило, очень не рекомендуется. Однако, если вы не хотите устанавливать отдельный плагин, то это решение достаточно легко реализовать. Чтобы избавиться от атрибута rel="nofollow" непосредственно в ядре WordPress, выполните следующие действия:

Откройте файл template.php, он расположен в директории wp-includes. Перейдите к строке 48 и найдите код:

 
$return = "<a href='$url' rel='external nofollow'>$author</a>";

Вот в этой строке вы должны удалить аттрибут nofollow.

У вас должно остаться:

 
$return = "<a href='$url' rel='external'>$author</a>";

Теперь сохраните файл, и все готово.

2. Использование отдельного плагина:

Есть несколько плагинов WordPress, которые можно использовать для удаления этого аттрибута. Преимущество плагина в том, что вам не нужно изменять WordPress ядро. Кроме того, после обновления версии WordPress, вам нужно просто активировать плагин для удаления аттрибута NoFollow.

Например, могу посоветовать DoFollow 4,0 и Nofollow Free. Оба бесплатные и очень простые.

Как избавиться от ссылок в комментариях

Просто вставьте следующий код в файл function.php вашей темы. После сохранения файла, вы можете попрощаться с ссылками и другими нежелательными HTML в ваших комментариях.

 
function plc_comment_post( $incoming_comment ) {
	$incoming_comment['comment_content'] = htmlspecialchars($incoming_comment['comment_content']);
	$incoming_comment['comment_content'] = str_replace( "'", '&apos;', $incoming_comment['comment_content'] );
	return( $incoming_comment );
}

function plc_comment_display( $comment_to_display ) {
	$comment_to_display = str_replace( '&apos;', "'", $comment_to_display );
	return $comment_to_display;
}

add_filter( 'preprocess_comment', 'plc_comment_post', '', 1);
add_filter( 'comment_text', 'plc_comment_display', '', 1);
add_filter( 'comment_text_rss', 'plc_comment_display', '', 1);
add_filter( 'comment_excerpt', 'plc_comment_display', '', 1);

 

На этом, всё. Надеюсь эта информация будет Вам полезна. Спасибо.

Качественные премиум темы и шаблоны для Вашего сайта:

Смотреть полный каталог качественных тем и шаблонов

Здесь Вы можете выбрать из более чем 46 000 готовых дизайнов. Шаблоны сайтов + установка + хостинг + персонализация + поисковая оптимизация + копирайтинг — все эти услуги вы всегда можете получить от профессионалов мирового уровня!


Нашли это полезным? Поделитесь с другими:
Не останавливайтесь, читайте дальше:
3 комментария

Статья → Полезные функции для WordPress блога

  1. Жизнерадостный блоггер:

    Здравствуйте. Вы не могли бы мне подсказать, как сделать ссылки в именах комментаторов? Просто у меня тема, в которой имена просто как текст, а хотелось бы, что бы было со ссылкой.
    И еще, как сделать поддержку html-кодов в комментариях. Заранее спасибо, и извиняюсь, что не по теме.

  2. Николай:

    @Жизнерадостный блоггер
    Если у вас нет ссылок в именах комментаторов, то возможно у Вас стоит плагин, который убирает ссылки, например Remove Links in Comments. Если плагины не стоят, то скорее всего Вам нужно править файл functions.php. Например, можете поискть что-то вроде remove_filter( ‘comment_text’, ‘make_clickable’, 9 );. Тоже самое можно посоветовать и с поддержкой HTML. Возможно у Вас присутствует запись типа add_filter(‘comment_text’, ‘wp_filter_nohtml_kses’);.

  3. Николай:

    попробуйте убрать весь этот код, или закомментируйте объявления фильтров, например /*add_filter(‘preprocess_comment’, ‘plc_comment_post’, ”, 1);*/

Оставить комментарий

Статья → Полезные функции для WordPress блога

Правила комментирования

  1. Кoммeнтapий всегда проходит премодерацию.
  2. В поле "URL блога" можно указывать только ссылку на главную страницу вашего блога. Ссылки на прочие веб-ресурсы (в том числе блоги/сплоги, созданные не для людей) будут удалены.
  3. Запрещается использовать в качестве имени комментатора слоганы/названия сайтов, рекламные фразы, ключевые и т.п. слова. В случае несоблюдения этого условия имя изменяется по усмотрению владельца блога. Просьба указывать нормальное имя или ник.
  4. Весьма вероятно, что короткий и неинформативный кoммeнтapий вида "Спасибо!", "Интересная статья", будет удален. Исключение составляют знакомые автору блога комментаторы.