Выпуск 10. Блог-клиент. Поиск. Полезные плагины

Рубрика: WordPress -> Архив рассылки
Понедельник, 7 августа 2006 г.
Просмотров: 3240
]]>
]]>

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

Блог-клиент

Блог-клиенты - это специальные компьютерные программы, с помощью которых можно удаленно управлять своим сайтом. Существует несколько технологий, которые предоставляют такую возможность. Одна из них называется XML-RPC (Remote Procedure Call - удаленный вызов процедур с помощю языка запросов XML). То есть, грубо говоря, XML-RPC должны поддерживать компьютерная программа и сам сайт. WordPress, конечно же, входит в их число. grin

Что же делает блог-клиент?

Он просто формирует специальный запрос (например содержащий требование вывести все заголовки записей) и отправляет его на сайт по специальному адресу. Сайт, получает этот запрос, обрабатывает его и отправляет готовый результат. Таким образом и происходит взаимодействие между ними.

Понятно, что с помощью компьютерной программы несколько проще работать, скажем, с текстом. То есть можно, например подключить проверку орфографии, встроить дополнительные функции: изменить регистр, преобразовать в html-код, откорректировать знаки препинания, удалить лишние пробелы и т.д. Реализовать все это с помощь браузера (как это и происходит через админ-панель), довольно затруднительно.

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

Говорить о скорости работы просто не приходится - блог-клиент работает гораздо быстрее web-интерфейса.

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

  • Редактирование, создание записей.
  • Возможность работы не только с сообщениями (post), но и постоянными страницами (page).
  • Вы можете изменить статус записи: обычное (post), постоянная страница (page) или черновик (draft). (Такого нет даже в стандартном WordPress!)
  • Возможность указать синоним ссылки (post slug).
  • Визуальное rtf-форматирование.
  • Панель быстрой вставки, любое количество элементов, панель избранных кодов.
  • Готовый набор для вставки основных кодов, HTML и спецсимволов.
  • Дополнительный набор из 188 смайликов. Вы можете добавить свои.
  • Мастер вставки изображений. Полностью настраиваемые параметры.
  • Создание миниатюр.
  • Автоматическая загрузка файлов на сервер.
  • Автоматический backup записей.
  • Множество функций для работы с текстом.
  • Предпросмотр (шаблон предпросмотра можно менять).
  • Встроенная таблица символов.
  • Выбор цвета.
  • Данные передаются в сжатом виде, что позволяет уменьшить их объем.
  • Получение списка уже загруженных файлов.
  • Поддержка любой кодировки блога.

Примерно год назад, когда я впервые столкнулся с WordPress, мне ужасно не понравилась его админ-панель. Это сейчас она немного "облагородилась", но раньше работа с ней приносила одни мучения (для меня grin ). Существуют даже специальные плагины, которые позволяют изменить ее внешний вид, но все равно от web-интерфейса никуда не денешься...

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

Все это подтолкнуло меня к написанию своего блог-клиента. А поскольку я постоянно сам с ним работаю + работают мои клиенты, то постепенно она трансформировалась в текущую, довольно мощную версию.

Так, что если вы тоже хотите попробовать работать с WordPress с помощью блог-клиента, то можете его скачать с моего сайта:

Поиск в WordPress

Поднять тему поиска меня попросил Хусамов Сухроб, за что ему большое спасибо grin.

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

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

Чтобы вам не запутаться попробую по-порядку.

Определите (узнайте) версию MySQL на сервере.

1. Если версия младше 4.1, то вам нужно узнать у хостера в какой кодировке работает MySQL. Если у вас русскоязычный хостинг, то скорее всего кодировка будет cp1251-general_ci - это Windows-1251 регистронезависимая. Всё, что вам нужно сделать, так это использовать эту же кодировку (WINDOWS-1251) и на своем блоге. Если вы хотите иметь полноценный поиск и нормальную сортировку по алфавиту, то забудьте об UTF8.

2. Если у вас версия 4.1 или старше, то у вас есть некоторое поле для маневра. Дело в том, что в этих версиях MySQL появилась команда SET, которая позволяет "на-лету" устанавливать кодировку. То есть вы можете установить кодировку для сервера и клиента и, в завивимости от этих значений, сервер будет конвертировать данные и отдавать их клиенту, т.е. вашему сайту.

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

Для перевода базы данных в UTF8 сделайте следующее. Откройте файл wp-includes/wp-db.php. В самом конце файла, после строчки:

То есть мы рассматриваем ситуацию, когда ваш блог работает в UTF-8, а база данных в Windows-1251.
  1.  $wpdb = new wpdb(DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);

Допишите:

  1.  $wpdb->query("SET NAMES 'utf8'");
  2.  $wpdb->query("SET CHARACTER_SET_CLIENT='utf8'");

(Если у вас версия WordPress с моего сайта, то там уже есть эти строчки, просто удалите перед ними комментарии.)

Если после этого текст на вашем блоге стал нечитаемым, то не пугайтесь, так и должно быть - ваша база поддерживает нужную кодировку. Следующий этап - нужно переконвертировать базу данных.

.Теоретически существует еще возможность "поиграть" с разными параметрами SET. В моей версии WordPress в конце файла wp-db.php присутствуют эти строки. Попробуйте убрать комментарии и менять названия кодировки - может, что-нибудь получится.

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

Второй способ более сложный, зато позволяет переконвертировать всё сразу.

Для этого нужно зайти в phpMyAdmin и сделать дамп таблиц WordPress.

Если вы не знаете, что такое phpMyAdmin и что такое дамп, то этот способ точно не для вас!

Сохраните этот дамп на свой компьютер и смените расширение на .txt. После этого откройте его с помощью Internet Explorer'a и подберите кодировку, при которой русский текст будет читабельным. После этого сохраните этот файл и укажите нужную кодировку, например UTF-8.

Теперь откройте этот файл, например Блокнотом, и проверьте указана ли кодировка при создании таблиц, например:

  1.  ENGINE=MyISAM DEFAULT CHARSET=cp1251;

Если такие строки встречаются, то измените указанную кодировку. После этого загрузите дамп обратно в базу.

Теперь несколько важных замечаний.

1. Если описанные выше процедуры вам не понятны, не выполняйте смену кодировки!

2. Описанные выше процедуры касаются только изменения кодировки базы данных, а не самого блога! То есть вам не нужно в опциях менять кодировку блога.

3. Обязательно сохраните резервную копию дампа - в случае неудачи, вы всегда сможете восстановить свой блог. Также, на всякий случай, можете сделать резервирование через админ-панель WordPress'а.

Полезные плагины

Теперь перейдем к более приятным вещам smile. Начнем рассматривать некоторые плагины.

"Сноски"

Этот плагин позволяет автоматически создавать сноски в конце текста. Например:

  1.  Браузер FireFox ((Лучший Интернет-браузер)) загрузили уже 200 миллионов раз!

Теперь у нас появится текст:


Браузер FireFox1 загрузили уже 200 миллионов раз!

  1. Лучший Интернет-браузер

При этом плагин автоматически создает нумерацию сносок. Также он позволяет настроить оформление и признак сноски. К слову сказать, комбинации " ((" и "))" не совсем удачны, поскольку в тексте частенько встречаются, не говоря уже про синтаксис PHP. Я бы все-таки изменил их, например на " [[" и "]] ".В любом случае выбор за вами, а изменения можно внести прямо в файле плагина.

Также поддерживаются "стандартные" сноски: <footnote> ... </footnote>

Качаем отсюда: http://www.elvery.net/

"Облако" рубрик

Обычно рубрики располагаются в виде списка, то есть последовательно в древовидной структуре. Однако, это вечашний день grin. Сейчас модно использовать т.н. облака. "Облако" состоит из названий рубрик, причем, чем больше в рубрике записей, тем большим размером она отображается. Грубо говоря, можно сразу же определить наиболее "горячую" категорию.

Качаем отсюда: http://sw-guide.de/

После активации плагина нужно добавить, например в sidebar.php следующий код:

  1.  <?php
  2.  if (function_exists ('cattag_tagcloud') ) {
  3.  echo '<ul class="is_kat">' . cattag_tagcloud() . '</ul>'; }
  4.  ?>

Сама функция cattag_tagcloud имеет настраиваемые параметры:

  1.  function cattag_tagcloud(
  2.   $min_scale = 8, // минимальный размер в pt
  3.   $max_scale = 30, // максимальный размер в pt
  4.   $min_include = 0, // минимальное количество записей в рубрике
  5.   $sort_by = 'NAME_ASC', // сортировка
  6.   $exclude = '', // исключить рубрики (указать через запятую)
  7.   $element = '<li><a rel="tag" href="%link%"
  8.   title="%description% (%count%)"
  9.   style="font-size:%size%pt">%title%
  10.   <sub style="font-size:60%; color:#ccc;">%count%</sub>
  11.   </a></li>' // шаблон для вывода
  12.   )

Сортировка может иметь значения, как и в функции list_cats(), а также: WEIGHT_ASC, WEIGHT_DESC, RANDOM.

Экспериментируйте с параметрами по своему усмотрению.

Ключевые слова

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

В разных плагинах реализуется это по разному, рассмотрим более простой вариант.

Сам плагин качаем отсюда: http://www.broobles.com/ и активируем его.

После этого прямо в тексте нужной вам записи пишем:

  1.  [tags]Фрукты, здоровье, витамины[/tags]

Теперь в конце записи появится строчка с этими ключевыми словами. Если вы кликнете на ссылку, то попадете на сайт http://technorati.com/./ Если вам это не нужно, то можно указать свою строчку. Например, для того, чтобы это ключевое слово искалось прямо на вашем сайте, напишите в плагине:

  1.  $tag_url = "index.php?s=";

Там же в файле плагина вы сможете настроить и формат вывода.

Последние комментарии

Плагинов, выводящих последние комментарии отдельным списком множество. Если вам нужно просто вывести автора комментария и заголовок заметки, то воспользуйтесь плагином Recent Love - A List of Recent Comments.

В нужном месте пропишите:

  1.  <?php
  2.  if (function_exists('rr_recent_comments'))
  3.   echo rr_recent_comments(7, '<p>', '</p>');
  4.  ?>

Первый параметр обозначает количество выводимых строк.

Если вам нужно сделать вывод и текста комментария (как, например у меня на сайте), то вы можете модифицировать этот плагин wink или попробовать поискать другой. Я давно пользуюсь Latest Comments. Только по этой ссылке я не нашел, где его скачать, поэтому просто выложил его у себя на сайте.

После активации плагина в нужном месте укажите:

  1.  <?php
  2.  if (function_exists('cypher_latestcomments'))
  3.   cypher_latestcomments();
  4.  ?>

Вот параметры функции:

  1.  cypher_latestcomments(
  2.   $before='', // текст "до"
  3.   $after='<br>', // текст "после"
  4.   $max_comments=5, // количество выводимых комментарией
  5.   $max_chars = 38 // максимальная длина комментария
  6.  )
]]>twitter.com Google Buzz google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru]]>

Комментариев: 5

Вы можете оформить подписку на все комментарии сайта. Или даже на все новые записи сайта. (Не знаете, как это сделать?)
  1. 2007-11-29 в 12:06:17 | Roman

    Я скачал Lastest Comments, активировал. Только вот не пойму как устновить мне вывод свежих комментариев в сайдбар, пробывал реализовать через текстовый виджет(вставил в него текст

    <?php

    if (function_exists('cypher_latestcomments'))

    cypher_latestcomments();

    ?>

    )но ничего не получилось. Посоветуй что надо сделать.

  2. 2007-11-29 в 15:05:16 | Максим

    Текстовый виджет не поддерживает выполнение php-скриптов.

  3. 2007-11-29 в 22:17:43 | Roman

    через ушки будет работать?

  4. 2007-11-29 в 22:26:54 | Максим

    Будет. Только возьмите новую версию и название ушки должно начинаться с «php_».

  5. 2007-11-30 в 16:53:08 | Roman

    Всё заработало. Спасибо.

    Максим, а как сделать чтобы комментарии заканчивались троеточием?

    P.s. в коде не силён, но учусь. :oops: