Сегодня пятница, и мне совсем не хочется писать какой-то очередной технический совет или подборку инструкций или плагинов, поэтому просто поболтаем. Только что занимался переносом существующего блога на WordPress с одного хостинга на другой.
Сначала все пошло довольно гладко, прислали бэкап, прислали дамп базы, все на своих местах, загружай файлы, импортируй базу и начинай работать, но как говориться даже самая простая задача, может иногда отбирать довольно много времени.
Действуя согласно инструкции по переносу WordPress, загрузил файлы WordPress, импортировал базу данных MySQL с помощью phpMyAdmin, т.к. блог был на временном домене, в файле конфигурации заменил имя хоста, чтобы все красиво отображалось, захожу в админку и получаю пустую белую страницу.
Открываю wp-config.php, включаю отладку:
1 |
define('WP_DEBUG', true); |
захожу на сайт, в ответ получаю:
Fatal error: Out of memory (allocated 18874368) (tried to allocate 300 bytes) in …/www/wp-includes/pomo/streams.php on line 66
Очень воодушевляет. Создаю файл info.php, пишем в нем
1 |
phpinfo(); |
, загружаю на сервер и открываю, смотрю что Memory Limit прописан на сервере 32Мб, должно хватать с головой.
На всякий случай в файле конфигурации прописываю:
1 |
define('WP_MEMORY_LIMIT', '64M'); |
Ошибка никуда не исчезает, ничего так и не работает. Клиент начинает нервничать, потому что сроки по переносу 1 — 2 часа ( я обычно беру с запасом на такие вот ситуации) уже поджимают и уже пора заканчивать.
Колдовал я вокруг этого блога довольно долго, написал хостерам компании www.host.ru куда хотел переехать клиент, они уточнили номер договора и пропали, ответа все еще нет.
В результате клиенту был предложен эксперимент, я переношу его блог на свой хостинг, смотрим если работает, значит виноват хостер, если не работает значит я извиняюсь и просто проваливаю работу. В течении 10 минут, загрузил файлы и базу данных из бэкапа, сделал необходимые настройки, вуаля, все отлично работает.
Такая вот история. А вам приходилось ублажать своих клиентов? Каким образом?
Продолжить чтение...4 ноября 2009
Решил возобновить традицию публикации статистики блога. Не только потому что это интересно, а еще и потому что это полезно, позволяет лишний раз поставить ссылочку на чей-то хороший ресурс ну и для себя проанализировать посещаемость и популярность постов и самого блога.
Источники трафика:
Поисковики:
Популярные записи за месяц:
В постовом сегодня весьма актуальными являются fake watch и совсем уже ставшая всем привычной оптимизация сайтов, видимо для того, и созданы постовые, чтобы можно было легко и просто раскрутить такие вещи как торговая марка бренд.
Продолжить чтение...30 декабря 2008
Приветствую всех своих читателей, и сразу приступим к благодарностям. В первую очередь благодарю всех своих читателей за то, что не забываете мой блог, подписываетесь на RSS и получаете самые свежие посты с этого блога, огромное вам спасибо, дальше будет лучше.
Вторая пачка благодарностей, конечно же блоггерам, которые ссылаются на этот блог, и приводят новых посетителей и читателей, за этот год появилось много новых знакомств, чему я безмерно рад. Вот список отличившихся в этом году, этот же список будет добавлен в блогролл пожизненно:
Для интересующихся цифрами, немного открою занавес тайны, блог Димка привел около 1500 человек на мой блог, за прошедший год.
Теперь, я хочу поблагодарить поисковые сервера, им наверное безразличны мои благодарности, но вдруг кто-то из них, прочитает, пусть им будет приятно.
В общей сложности через эти поисковики, за год пришло около 60000 посетителей, что не может не радовать, надеюсь наше плодотворное сотрудничество с поисковиками, продлится и в следующем году.
Что касается записей в этом блоге, самыми популярными в этом году, были записи:
Теперь вы знаете, какие записи нравятся читателям моего блога, делайте выводы, которые помогут стать вашему блогу еще популярнее.
На данный момент, блог имеет 183 записи и 2049 комментариев, огромное спасибо комментаторам за проявленную активность, а также плагинам Spam Karma и Parasite Eleminator за то что фильтруют спам-комментарии.
Вроде бы ничего не забыл, еще раз всем кто бывает на моем блоге огромное спасибо и с наступающим новым годом!
Постовой:
16 декабря 2008
Сегодня я попытаюсь рассказать о том, что необходимо сделать, чтобы в вашем шаблоне отображались древовидные комментарии, которые появились в новой версии WordPress 2.7. Сразу же хочу предупредить, что данная инструкция рассчитана на людей, которые хоть немного знают PHP, HTML и умеют редактировать файлы шаблона WordPress-блога.
Прежде чем продолжить чтение, убедительно прошу, сделать резервную копию, шаблона вашего блога, потому как универсальную инструкцию для каждого шаблона написать довольно тяжело, могут возникнуть проблемы, после редактирования файлов.
Проверка открытия файла напрямую, в моем блоге эти строки выглядели вот так:
1 2 |
if ('comments.php' == basename($_SERVER['SCRIPT_FILENAME'])) die ('Please do not load this page directly. Thanks!'); |
Их необходимо заменить на следующие:
1 2 |
if (!empty($_SERVER['SCRIPT_FILENAME']) && 'comments.php' == basename($_SERVER['SCRIPT_FILENAME'])) die ('Пожалуйста, не загружайте этот файл напрямую. Спасибо!'); |
Далее проверяем запись на защиту паролем. У меня строчки которые проверяли закрыты ли комментарии паролем, выглядели вот так:
1 2 3 4 5 |
<?php if (!empty($post->post_password)) { // if there's a password if ($_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) { // and it doesn't match the cookie ?> <p class="nocomments">Запись закрыта паролем. Введите пароль для просмотра комментариев.<p> <?php return; } } |
Эти строки необходимо заменить на следующий код:
1 2 3 4 |
if ( post_password_required() ) { echo '<p class="nocomments">Запись закрыта паролем Введите пароль для просмотра комментариев.</p>'; return; } |
Теперь наверное самое сложное в этой процедуре, это замена куска файла, который отвечает непосредственно за вывод списка комментариев. Вот таким он был в старых версиях WordPress, повторюсь, в разных шаблонах этот кусок кода, может быть разным!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?php if ($comments) : ?> <ol class="commentlist"> <?php foreach ($comments as $comment) : ?> <li <?php echo $oddcomment; ?>id="comment-<?php comment_ID() ?>"> <p class="top"> <span><?php comment_date('F jS, Y') ?> в <?php comment_time() ?> <a href="#comment-<?php comment_ID() ?>" title="">#</a><?php edit_comment_link('edit',' ',''); ?></span><?php comment_author_link() ?></p> <div class="body"> <?php if ($comment->comment_approved == '0') : ?> <em>Ваш комментарий ожидает проверки модератором.</em><br /> <?php endif; ?> <?php comment_text() ?> </div> </li> <?php /* Changes every other comment to a different class */ $oddcomment = ( empty( $oddcomment ) ) ? 'class="alt" ' : ''; ?> <?php endforeach; /* end for each comment */ ?> </ol> <?php else : // this is displayed if there are no comments so far ?> <?php if ('open' == $post->comment_status) : ?> <!-- If comments are open, but there are no comments. --> <?php else : // comments are closed ?> <!-- If comments are closed. --> <p class="nocomments">Комментирование закрыто.</p> <?php endif; ?> <?php endif; ?> |
В WordPress 2.7, этот кусок намного меньше, т.к. за вывод комментариев, теперь отвечает всего одна функция, однако в этом случае, меняется и вид комментариев которые выводятся и расположение некоторой информации о комментариях, именно для этого я и говорил, сделать резервную копию вашего шаблона, вдруг вам не понравится. Хватит говорить, вот кусок кода для WordPress 2.7 комментариев:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
if ( have_comments() ) : ?> <h4 id="comments"><?php comments_number('Нет комментариев', 'Один комментарий', 'Комментарии % ' );?></h4> <ul class="commentlist"> <?php wp_list_comments(); ?></ul> <div class="navigation"> <div class="alignleft"><?php previous_comments_link() ?></div> <div class="alignright"><?php next_comments_link() ?></div> </div> <?php else : // this is displayed if there are no comments so far ?> <?php if ('open' == $post->comment_status) : // If comments are open, but there are no comments. else : // comments are closed endif; endif; |
Теперь если вы сохраните файл comments.php и комментарии на вашем блоге будут нормально отображаться, значит вы на правильном пути, если нет, имеет смысл перечитать и проверить все ли правильно вы поменяли.
Продолжим наше нелегкое дело, для правильной работы древовидных комментариев WordPress 2.7, нам необходимо вызывать Java-скрипт, для этого открываем файл header.php и перед строкой wp_head() вставляем строку:
1 |
if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); |
К форме комментариев, после полей Имя, E-Mail, Сайт, добавляем еще одну функцию, которая необходима для правильной работы комментариев:
1 |
<?php comment_id_fields(); ?> |
Вся форма комментариев, поля пользователя и поле для ввода текста комментария и кнопка отправки, должна быть заключена в блок
1 |
<div id="respond"> |
, это необходимо, для правильного отображения формы комментирования, когда человек отвечает на чей-то комментарий.
Текст перед формой комментирования «Оставьте комментарий» или «Оставить комментарий» заменяем на функцию:
1 |
<?php comment_form_title(); ?> |
Прямо под этой строчкой, добавьте еще несколько, которые позволят отказаться от ответа на комментарий:
1 2 |
<div id="cancel-comment-reply"> <small>< ?php cancel_comment_reply_link() ?></small></div> |
Чисто теоретически, после того, как вы сделали все это, на вашем блоге, будут работать древовидные комментарии, WordPress 2.7 никаких гарантий того, что они сразу заработают, я дать не могу, у каждого из вас разные шаблоны и расположение функций вывода данных, поэтому для некоторых случаев необходимы будут другие действия.
Я очень надеюсь, что у вас все получилось, если не получилось, обращайтесь, постараюсь помочь.
Если кто-то заметил ошибки в коде или неточности, жду вас в комментариях.
Продолжить чтение...
24 сентября 2010
3 комментария