May 26th, 2012 by Sveta (admin)

WordPress: Как исправить слово во всех постах… или перекрашиваем черное в белое.

Часто перед владельцем блога на WordPress'е возникает задача изменить во всех постах блога один набор символов ("слово") на другой.

На самом деле такая задача может возникнуть у блогера, ведущего блог на любой платформе, но я люблю WordPress за то, что на WordPress'е подобную замену можно выполнить с помощью только одной SQL-команды.

Для начала приведу пример, когда это может понадобиться:
1) После миграции блога с платформы Blogger на WordPress пришлось во всех постах изменить группу символов переноса строки с <br /> на <br/> (вроде и так и так правильно, но первый случай не срабатывал).
2) Если вы переносили блог с Blogger'а на WordPress (и при этом на Blogger'е у вас было доменное имя третьего уровня т.е. moiblog.blogspot.com) возможно вам захочется поменять все внутренние ссылки с http://moiblog.blogspot.com на http://moi-wp-blog.ru
3) А возможно вы по каким-то причинам сменили политическую ориентацию и теперь во всех постах хотели бы "перекраситься" (как я уже говорила поменять черное на белое).
Задание читателям: придумайте еще в каких случаях было бы удобно сделать подобную замену во всех постах.

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

Замена была сделана с помощью единственной SQL-команды, но перед этим:
1) Я нашла имя базы данных, которая обслуживала этот блог. Как найти?
2) Сделала резервную копию таблицы wp-posts. Как сделать? (Напишу в следующем посте)
3) В найденной на шаге 1) Базе Данных, в перед тем экспортированной на шаге 2) на домашний компьютер таблице wp-posts я сделала на SQL следующую операцию.

UPDATE wp_posts SET post_content = REPLACE (post_content, 'Джоржия', 'Джорджия');

Смотрим на картинку:

MySQL: Изменяем все вхождения во всех постах слова черное на белое.


А вот результат выполнения SQL-запроса.

MySQL: замена во всех постах произведена.


Итого, замена была произведена в 45 записях, немного многовато если учесть, что про "Джоржию" я упоминала в постах 10 не более, но пугаться не следует, так как по умолчанию (если вы их не удалите) WordPress хранит все варианты всех ваших постов. Поэтому 45 записей, где упомяналась Джоржия, в файле wp-posts - это нормально.

Потом я подумала и решила, что надо поменять не только все вхождения слова Джоржия, но и все склонения её имени в постах... для этого я выполнила такой запрос:

UPDATE wp_posts SET post_content = REPLACE (post_content, 'Джорж', 'Джордж');

а потом я поменяла написание её имени и в заголовках постов:

UPDATE wp_posts SET post_title = REPLACE (post_title, 'Джорж', 'Джордж');

Читателям же задание написать SQL-запрос меняющий во всех постах слово черное на белое ;).

Всегда ваша Света на WordPress'е!

March 9th, 2012 by Sveta (admin)

WordPress: Чередование рекламных блоков.

Сегодня я расскажу о простейшем способе чередования рекламных блоков на WordPress'е.

Если вы монетизируете свои проекты с помощью блоков контекстной рекламы или рекламных объявлений, то вам как и мне очень может пригодиться плагин Random/Rotating Ads V2 Пользоваться им чрезвычайно легко. Вы создаете так называемые "группы рекламных объявлений" и заменяете отдельно стоящее рекламное объявление в вашем блоке на код соответствующий только что созданной группе, групп можно создать сколько вам надо, а чередовать в них вы можете тоже что угодно.

Плагин превосходный. Очень всем рекомендую, особенно если у вас как и у меня возникают проблемы, что лучше поставить под заголовком поста Google Adsense, Yandex Direct или Begun.

Единственная доработка о которой можно было бы подумать - показ отдельному посетителю по очереди (а не в случайном порядке) все возможные для данной позиции объявления.

Если я смогу доработать этот плагин - я вам скажу ;).

February 25th, 2012 by Sveta (admin)

WordPress: Как не показывать категорию или тег (на главной странице, страницах архива, в фиде блога)

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

А сегодня у меня в блоге все выглядит профессионально, потому что вчера я нашла замечательный плагин, который называется Simply Exclude, с помощью этого плагина можно спрятать целую категорию или несколько, а так же выбрать и спрятать посты опубликованные под некоторыми тегами, некоторые страницы или посты определенных авторов. А прятать (не показывать) их можно как на главной странице (разумеется во время листания они тоже показаны не будут), со страниц архива и даже из RSS или Atom фидов блога и результатов поиска.

Удалять из блога посты по теме Отчеты я не хочу и это не правильно, а использовать я их буду на страничке "Об авторе", вот там самое место похвастаться своими личными результатами и показать динамику изменения веса.

Ссылка на плагин: http://wordpress.org/extend/plugins/simply-exclude/
Будут вопросы по настройке плагина, обращайтесь!

Любознательным для дополнительного прочтения:
http://codex.wordpress.org/Custom_Queries

February 21st, 2012 by Sveta (admin)

WordPress: установи пароль на отдельную страницу или пост

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

Мою первую попытку вы можете оценить здесь. Пароль: 123456.

Запаролить страницу или пост средствами самого WordPress'а очень просто.

Справа от редактора поста вы видите секцию с настройками публикации: Publish.

По умолчанию видимость ваших постов Visibility: Public, кликаем на Edit.
WordPress Publish (Change Visibility)
Wordpress: устанавливаем пароль на пост или страницу.

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

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

Вот как Google проиндексировал запароленный пост:
WordPress:Пост защищенный паролем в результататх Гугла

А это кэш:
google cache (password protected post on WordPress)

В WordPress'е все по-взрослому - никакого java-script'а и css создающих эффект псевдоневидимости. В WordPress'е программа wp-pass.php, она отдаст содержимое поста, если ей сказать пароль, иначе она его не отдаст даже если Гугл/Янлекс очень попросят ;).

February 16th, 2012 by Sveta (admin)

Protected: Пост защищен паролем! Пароль 123456

This content is password protected. To view it please enter your password below:

January 29th, 2012 by Sveta (admin)

WordPress – Blogger: Ссылки на архивы.

Итак, продолжаем рассказ на тему переезда с бесплатной платформы Blogger на WordPress на собственном хостинге. Основное - ссылки на свои посты мы уже сохранили.

Сегодня мы позаботимся о ссылках на архивы.
На платформе Blogger ссылки на архивы оканчивались так: /yyyy_mm_01_archive.html
На WordPress'е они имеют такое окончание: /yyyy/mm

Визуально правило перенаправления (ридеректа) понятно. Теперь ему надо научить apache web server, который работает на нашем хостинге.

Самый простой способ - внесение записей в .htaccess файл, который располагается в корневой директории файлового пространства вашего блога. На том же уровне где вы можете видеть директории wp-admin wp-content и тд.

добавьте в верхней строчке этого файла запись:

RedirectMatch 301 /([0-9][0-9][0-9][0-9])_([0-9][0-9])_01_archive.html$ /$1/$2

Нажмите сохранить и проверьте работоспособность перенаправления:
в адресной строке допишите к урл вашего блога /2011_12_01_archive.html и убедитесь что ваш запрос был перенаправлен на урл с окончанием /2011/12

На сегодня все.
Ваша Света
PS Если в файловом пространстве вашего блога вы не нашли файла .htaccess
1) Убедитесь что в настройках ftp есть галочка показывать скрытые файлы
2) Возможно вам придется создать файл .htaccess (но перед этим свяжитесь саппортом хостинга и уточните у них используют ли они веб-сервер apache или что-то другое).

January 14th, 2012 by Sveta (admin)

WordPress – Blogger: Уходя с Blogspot забери свои постоянные ссылки!

Это не чудо, это каждый из вас может сделать!

Если на платформе Blogger вы использовали свое доменное имя - это особенно имеет смысл сделать, тем более что делается это очень просто.

Конечно, чтобы пользоваться WordPress'ом надо знать намного больше, чем когда вы были на Blogger'е, многие частности будут различаться в зависимости от интерфейсов, которые вам предоставил ваш хостер. Поэтому описываю без подробностей.

1) В WordPress'овском блоге приводим структуру ссылок к той, что у вас была на Blogger'е: /%year%/%monthnum%/%postname%.html
2) С помощью ftp в корневую директорию вашего блога (обратите внимание блога, а не аккаунта) закачиваем файл blogger_url.php.zip и распаковываем.
3) В браузере выполняем полученную php-программку для чего переходим по ссылке http://мойблог.ru/blogger_url.php
4) В процессе выполнения программка перечислит все постоянные ссылки, которые у вас были на Blogger'е и вам останется только убедиться, что все ссылки теперь как были раньше. В этом легко убедиться, если перед переездом с Blogger'а вы сделали себе карту сайта на Blogger'е.
5) Теперь давайте сохраним ссылки (сделаем умную переадресацию) наших страницы архива.
Факультативно публикую текст программы:

<?php
require_once('wp-load.php');

$i = 0;
$res = $wpdb->get_results("SELECT post_id, meta_value FROM $wpdb->postmeta WHERE meta_key = 'blogger_permalink'");
$wpdb->print_error();

foreach ($res as $row){
$slug = explode("/",$row->meta_value);
$slug = explode(".",$slug[3]);
$i++;
echo $i . ". " . $slug[0] . "<br/>";
$wpdb->query("UPDATE $wpdb->posts SET post_name ='" . $slug[0] . "' WHERE ID = $row->post_id");
$wpdb->print_error();
}

echo "-------------DONE! ENJOY!!!-----------";
?>

January 14th, 2012 by Sveta (admin)

WordPress: Как проверить в правильной ли Базе Данных мы работаем.

Как я уже говорила, иногда приходится делать изменения напрямую в БД обслуживающей ваш блог. Если вы хотите проверить/убедиться, что работаете через phpMyAdmin с правильной БД, посмотрите на таблицу wp_options, в первых трех строчках которой вы найдете информацию об имени блога, url-блога, description, адрес администратора.

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

WordPress through MySQL (wp_options)

January 8th, 2012 by Sveta (admin)

WordPress: Рermalink – красивая постоянная ссылка на ваш пост.

Ссылки на ваши посты. Какими им быть?

Если вы все оставите без изменения, то... посты в вашем блоге будут иметь стандартные ссылки типа http://www.vashblog.ru/?p=123 - это некрасиво и ни о чем не говорит ни читателю, ни поисковому роботу, вернее говорит, что автор блога "не заморачивается"...

Красивые ссылки на ваши посты - это, конечно дело вкуса, сегодня я покажу как их исправить. Итак, идем на WordPress'овскую панель управления (Dashboard) кликаем Settings и выбираем permalinks.

У меня в этом блоге установлено /%post_id%-%postname%.html - это значит, что ссылка формируется из уникального номера поста(считается хорошим тоном, чтобы ссылка начиналась с числа, т.к. это улучшает скорость поиска поста в блоге), а далее идут слова из заголовка (что хорошо для SEO), время опубликования поста (год, месяц) для этого блога неважны (посты написаны навек, возможно они довольно долго не утратят своей актуальности), поэтому лишнюю информацию в ссылку я не помещаю. Кстати, исключение из постоянной ссылки на пост информации о времени публикации делает возможным "repost" (повторное опубликование вашего поста). Иногда бывает полезно "поднять наверх" один из ранее написанных постов.

Если вы портировали свой блог с бесплатной платформы Blogger, то для постоянных ссылок (permalinks) установите такой формат: /%year%/%monthnum%/%postname%.html, если вы последуете этому совету, то в дальнейшем я вам дам небольшой хак (небольшую программку), которая еще немного подкорректирует постоянные ссылки на ваши посты и позволит вам не потерять ни одной ссылки после переезда с платформы Blogger.

Правила изменения структуры permalink для вашего WordPress:

Очень важно: НИКОГДА не помещайте ссылку на ваш сайт в Custom Structure поле. Для формирования ссылок вы можете использовать только комбинацию из нижеперечисленных тегов.

Убедитесь, что структура для permalink заканчивается тегом %post_id% или %postname% (например, /%year%/%monthnum%/%day%/%postname%/), таким образом каждая постоянная ссылка(permalink) будет указывать на индивидуальный пост.

Теги, котрые можно использовать для формирования "Красивых" или "Почти красивых" постоянных ссылок:

%year% - Год написания поста, 4 цифры, например 2012
%monthnum% - Месяц написания поста, 2 цифры, например 03
%day% - День написания поста, 2 цифры, например 28
%hour% - Час написания поста, 2 цифры, например 21
%minute% - Минута написания поста, 2 цифры, например 48
%second% - Секунда написания поста, 2 цифры, например 39
%post_id% - Уникальный номер поста, например 385
%postname% - Приведенный к "ссылочному виду" заголовок поста, слова из заголовка, разделенные дефисом. Например, если в заголовке стоит "Пост про Машу", автоматически созданная ссылочная версия будет выглядеть так пост-про-машу, но никто не запрещает вам изменить эту индивидуальную ссылку, например, на такую post-pro-mashu. Главное это структура ссылки о изменение которой, мы в этом посте и обсуждаем.
%category% - название категории (и всех вложенных подкатегорий) в которых опубликован пост.
%author% - имя автора публикации.

Читать по теме:
http://docs.appthemes.com/tutorials/wordpress-permalink-structure/
http://codex.wordpress.org/Using_Permalinks

January 8th, 2012 by Sveta (admin)

Как узнать имя DB (MySql) для вашего блога на WordPress’е.

У многих из нас много блогов на WordPress'е, у некоторых даже очень много.

Многие операции с нашими блогами мы делаем используя плагины... но иногда приходится залезать напрямую в БД (базу данных), обслуживающую блог и проводить опереации (редактировать таблицы) используя SQL (англ. Structured Query Language — «язык структурированных запросов»).

Чтобы работать с БД надо знать её имя. Имя узнаем, открыв конфигурационный файл wp-config.php там обязательно найдется строчка:

define('DB_NAME', 'имя вашей Базы Данных');

Теперь вы знаете имя Базы Данных (DB), обслуживающей ваш блог, а также имя USERа и его пароль!

В том же файле есть записи:

define('DB_USER', 'имя пользователя БД');
define('DB_PASSWORD', 'пароль пользователя БД');