Невероятные примеры поиска проблемы (+ WordPress + Premium News)


Часть 1. Вступительная и описательная

Иногда бывают такие случаи, когда возникает какая-то сверх проблема, и ты решаешь её, решаешь и уже так попробовал и сяк, и уже даже самое невероятное готов предположить! И когда ты уже перепроверяешь по третьему кругу всё. И когда кажется, что съезжаешь с катушек, когда делаешь всё по четвертому кругу. И особенно, когда ты делаешь это в вопросе, котором разбираешься неплохо (и обратиться то собственно не к кому) — хотя когда разбираешься чуть хуже, становится ещё захватывающе.

Помню, как-то по неведомым мне причинам, на рабочем проекте при переносе с хостинга на хостинг развалилась база. Её приходилось собирать по кусочкам (а особенно учитывая то, что я не супер гуру в mysql). Куча документации перечитано, куча экспериментов, нервов, выделенной кислоты внутри. И радость победы, когда он заработал (правда пропала часть пользователей). А была особенность, случилось это сразу вслед за запуском проекта, и я занимался этим, ну, минимум несколько дней, за что получил стык от руководства. С другой стороны, мог ли я поступить иначе? Плюнуть? Не сделать? Сделать быстрее?
Втык тогда был серьезный, и размышлял я тоже серьезно, и понял, что если бы все повторилось вновь, то поступил бы так же, чтобы работало.

Но это всё лирические отступления. Расскажу о недавнем случае: у меня на одном из рабочих сайтов (проект для профессионалов туристической отрасли от ТурНАВИГАТОР.ру) случилась проблема: перестало работать выпадающее меню. Ну, вот, не выпадает. Раз подступил к задача — не исправляется. Второй раз попробовал посмотрел — не хочет. Прошел день — меню не работает. Опять занялся проблемой, повключал и поотключал плагины, базу исправил — не получается. И что я только не делал:

  • проверял код HTML ;
  • про плагины я писал, но я делал это ещё несколько раз;
  • конечно искал проблему в css, проверял целостность файла;
  • смотрел как устроен фреймфорк, с одной стороны, с другой, переходил по цепочкам пока не приходил к выводу, что всё ок;
  • переставлял WordPress;
  • в конце концов утомившись — тупо залил тему поверх (а! сделай себе татуировку, потом кричал я на себя — делай бекап рабочей версии!!!) — оказалось что в тему я же сам внёс так много изменений, что ещё несколько часов заняло повторное из воссоздание;
  • сделав бекап я стал перезаливать по отдельности файлы темы (зачем? спрашиваю я сейчас себя);
  • опять поотключал плагины, потом начал вырезать скрипты из сайта (типа ВК, аналитики итп);
  • убрал сайдбар, включил сайдбар;
  • уже стал грешить на баннерокрутилку, убрал её (хотя сначала грешил на Google и выключил его баннеры, потом Яндекс, выключил и их) — думал какие-то наслаиваются стили.

А! Важные моменты в том, что никак не удавалось вспомнить, когда и после чего появилась проблема (заметили через несколько дней), а во-вторых если обновлять сайт полностью — меню появлялось на какое-то время и исчезало (что наводило меня на мысль, что подгружается один css, а затем второй его «затмевает»). Я вконец измаялся, я пол выходных просидел с этой фигней. И вы знаете!? Оказалось, что было сделано обновление WP (я же сам его делал, и просто никто не замечал ошибку несколько дней), и новое обновление и эта темы вызывают глюк, при котором глючит гребанный jquery! Короче я потом вычислил — на эту задачу я потратил более 20 часов чистого времени!!! Это невероятно, это очень много, это безрассудная трата времени. Но какова была слабость победы. Я ликовал сегодня утром (и это гениальное решение пришло именно утром), правда делал это тихо и скромно не вставая со стула!

Забавно, но из-за того, что я много-много раз перелопатил весь код — я смог обнаружить и исправить попутоно ещё десяток ошибок, типа в синтаксисе и подобных. И главное, каждый раз я думал «хаха, ну вот же она, из-за лишнего слеша всё и полетело, сейчас я тебя» — а там пух,   и ничего не менялось. Но всё равно в этом есть неплохой плюс.

Часть 2. Техническая (WooThemes PremiumNews Theme)

Эту часть можно пропустить (но дальше ещё будет интересно). Пишу это для тех, кто столкнется с подобной проблемой (возможно поможет), и для оправдания наличия этого поста в рубрике «база знаний».

Итак если Вы используете шаблон WooThemes PremiumNews Theme любой свежей версии, то при обновлении движка WP до версии 3.2. появляется несовместимость после чего вложенное меню перестает работать (и не работают ещё кое-какие плюшки в сайдбаре).
Лечение (точнее костыль, но нам не важно): найти в header.php код

<script type=»text/javascript» src=»<?php bloginfo(‘template_directory’); ?>/includes/js/jquery-1.3.2.min.js»></script><?php wp_head(); ?>

заменить на

<?php wp_enqueue_script(«jquery»); ?><?php wp_head(); ?><script type=»text/javascript» src=»<?php bloginfo(‘template_directory’); ?>/includes/js/jquery-1.3.2.min.js»></script>

Часть 3. Выводы

  • Делай, блин, бэкапы! Не режь по живому!!!
  • Проверяй буржуйнет тщательно (я то наивно залез на сайт производителя темы, поверхностно погуглил и пошел искать проблему у себя! а инфу про несовместимость и рецепт нашел таки в буржуйнете)!
  • Совмещать в своем едином личике и управленца и поддержку всякую и технического специалиста получается очень интересно (особенно со всякими внезапными задачами), но много усилий остается «за кадром». Было бы намного проще иметь программера и пинать его «когда сделаешь, сволочь?!?!» и вообще заниматься тем, что пинать людей. Хотя не так интересно.
  • Довести какую-нибудь очень сложную задачу до конца — это интересно, но, блин, так жалко времени. Как бы оптимизировать эти затраты временные? Разве что создавать сообщество профессионалов или примыкать к подобному. Да тоже жалко времени на поиски 🙂

P.S. Сегодня магическим образом завершилась история с таргетингом баннеров (точнее я думал, что дело в том, что нам не включили модуль, а оказалось в маленьком текстовом пунктике в мануале, который я не замечал прежде). Окончательно уже состыковались с Adfox,  и рекомендую их всем во всех планах. Подробнее о баннерокрутилке их напишу (постараюсь) и таким образом продолжу серию постов про баннерокрутилки (1, 2).

, , , , , ,

  1. #1 by Андрей - Январь 29th, 2012 at 11:41

    Помогло, хотя такого кода и не нашел у себя. Просто вставил твой скрипт и ЗАРАБОТАЛО. СПАСИБО!!!

  2. #2 by Gleb - Февраль 18th, 2012 at 14:57

    А мне не помогло. Нашёл указанную Вами строчку, заменил, но выпадающее меню так и не заработало 🙁

  3. #3 by admin - Февраль 20th, 2012 at 03:23

    Увы. Тема глючная. Ещё пара человек писали мне по поводу этой темы…
    на сегодняшний день отвечаю так: тема глючная настолько, что легче отказаться от неё, чем починить все баги.
    Притом что не на все баги есть решения понятные (или которые можно найти в интернете).

    Самая большая проблема в том, что тема некорректно отображается в Chrome всех версий и хотя куча вопросов есть на эту тему в интернете (зарубежном) — решения нет.
    В общем лично я отказался и поставил тему daily (хотя она и без поддержки видео и платная).

  4. #4 by Gleb - Февраль 20th, 2012 at 11:51

    Жаль 🙁 что нет способа исправить проблему. В общем-то кроме этого глюка у меня других нет. Да и в Chrome отображается всё корректно.
    Менять тему жалко, я в этой достаточно много изменил в дизайне, чтобы сделать её отличной от стандарта.
    Смотрел ещё в сторону темы Unspoken, там тоже есть поддержка видео, но оно там внизу страницы, а меня это не очень устраивает, да внешний вид темы не настолько нравится.

  5. #5 by admin - Февраль 21st, 2012 at 05:03

    хм! с хромом просто удивительно!
    а как у Вас с английским?
    этот баг с выпадающем меню описан тут:
    http://wordpress.stackexchange.com/questions/22009/woothemes-premiumnews-theme-jquery-conflict-with-wordpress-3-2

    собственно у меня описано одно решение (взятое оттуда) — возможно Вам подойдут другие.
    p.s. не забывайте только делать предварительную копию!!! перед тем как редактировать

  6. #6 by Gleb - Февраль 22nd, 2012 at 14:13

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

  7. #7 by admin - Февраль 23rd, 2012 at 01:05

    о! круто! я рад, что помог!
    мало того, наконец открыл Ваш сайт (чтобы проверить, точно ли работает в хроме) — и сайт клевый! дело в том, что я давно увлекаюсь яхтами и парусным спортом!
    надо мне воспользоваться ситуацией и наладить с Вами контакт.
    нашел зафрендил Вас в fb, хотя если есть vk — будет удобнее

  8. #8 by Gleb - Февраль 27th, 2012 at 16:53

    Всегда рад знакомству. Обращайтесь — думаю найдём много общего 😉

  9. #9 by Gleb - Февраль 27th, 2012 at 18:34

    P.S. Я по-моему не писал сайт о котором шла речь. Это captain-club.com

  10. #10 by Vadim - Март 1st, 2012 at 08:58

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

  11. #11 by Алексей - Август 24th, 2012 at 20:24

    Приветствую очень интересует как решили проблему с выпадающим меню буду очень благодарен !!!

  12. #12 by admin - Август 27th, 2012 at 12:19

    Алексей :

    Приветствую очень интересует как решили проблему с выпадающим меню буду очень благодарен !!!

    Вы прикалываетесь, Алексей? 🙂
    во втором пункте описал )

    вообще тема WooThemes PremiumNews Theme глючная, рекомендую просто подобрать другую тему.
    Из аналогов, которые приходят на ум — купить http://www.theme-junkie.com/themes/daily/ или найти варезную версию

(will not be published)

  1. No trackbacks yet.