Архив метки: Wordpress

Вертикальное меню на HTML для WordPress

Привет всем!
Давненько не писал в свой блог. Работа, хлопоты — сами понимаете — скучать некогда. Из последних новостей — разочарование в Periscope, работа которого была протестирована во время конференции Читать далее Вертикальное меню на HTML для WordPress

Ошибка в WordPress: Warning: Cannot modify header information

Как всегда неожиданно на одном из сайтов, созданных на базе WordPress всплыла ошибка:

Warning: Cannot modify header information — headers already sent by (output started at /servername/public_html/wp-config.php:1) in /servername/public_html/wp-includes/pluggable.php on line 1207

Ковыряние в Гугле привело к следующему решению: проблема лежит в ошибке кодировке файла. Ну бывает такое — правил файл-правил, а потом бах, и сохранил либо не в UTF-8. Наиболее правильным (для начала) будет открыть Notepad++ и открыв искомый файл (перед этим его нужно слить на локальный компьютер с хостинга) пересохранить в UTF-8 без BOM. В Notepad++ это делается следующим образом: верхнее меню — Кодировки — Преобразовать в UTF-8 без BOM, после чего сохранить файл.
notepad-bom

Закачиваем файл на сервер, и (скорее всего) — ошибка пропадает.

Как всегда — в случае возникновения вопросов — пожалуйста, пишите на почту oleksiy@lavrynenko.com

О школе и родительских собраниях

Как-то быстро пролетело лето, и (что ожидаемо) — начался учебный год. Дочь перешла в очередной класс, а я все так же пошел на очередное родительское собрание. Бла-бла-бла… 2 часа перекатывания из пустого в порожнее заставили меня вначале озвучить идею создания некоего ресурса виртуального родительского собрания (21-й век, экономия времени и прочее), а потом — после того, как родители эту идею поддержали — задуматься над ее реализацией.

После размышлений был составлен начальный список требований к ресурсу:
1. Закрытость — т.е. никто из посторонних не имеет доступа к размещенным материалам
2. Разделенность тематик обсуждения — т.е. есть тема, под ней формируется ветка обсуждения
3. Открытость для участников — комментарии, система лайков к комментариям, голосовалки
4. Файловый архив

Великолепным решением лично для меня показался Bitrix24. Но — он бесплатен только до 12 участников, а учитывая, что в классе 37 учеников — увы — не наш вариант.

Решил использовать WordPress, на базе которого и развернул сайт. В качестве доменного имени использовал бесплатный домен на dot.tk, сам сайт находится на хостинге GoDaddy. К настоящему моменту ресурс уже в рабочем режиме, планирую представить его в свободный доступ (может кому пригодится) через некоторое время — полностью настроенным и отлаженным.

Что представляет собой сайт:
— Страница тематик обсуждения — открыт для всех зарегистрированных пользователей. Предусмотрен закрытый раздел, доступ к которому имеют только представители родительского комитета.
— Под каждым комментарием можно поставить лайк — выразив таким образом согласие или несогласие с автором
— Представлен архив всех учебников в электронном виде.
— Страница контактов всех родителей и преподавателей
— Расписание уроков со звонками и номерами кабинетов
— Страница финансовых отчетов о поступлении денег и их расходе

В качестве файлохранилища используется Яндекс-диск, он-лайновые документы с ограниченными правами редактирования расположены в Гугл-доках.

Больше подробностей — позже 🙂 И как всегда — если у вас есть вопросы — задавайте!

WordPress — ограничение доступа к странице

Столкнулся только что с задачей ограничения доступа к определенной странице на сайте, созданном на WordPress. Т.е. задача вроде бы простая: если пользователь не прошел авторизацию — получить доступ к информации на определенной странице он не может. Но по факту без ковыряния в коде реализовать ее не так уж и просто.

Однако — это Worpdress! Несмотря на открытость кода платформа пользуется заслуженной популярностью — ниже представлен срез популярности CMS-систем в Рунете, на основании которого лидерство WordPress вполне очевидно:

Популярность CMS-систем за 2-й квартал 2015 года

Именно благодаря открытости системы с помощью плагинов у неискушенных в кодинге пользователей появляется возможность кастомизировать движок по собственному разумению. Решить можно практически любую задачу и задача, о которой я говорил выше — ограничение доступа к странице — отлично решилась с помощью плагина WP-Members.

Процесс установки плагина стандартен:
1. Загружаем плагин к себе на жесткий диск
2. Закачиваем через FTP на сервер в папку /wp-content/plugins/
3. Активируем плагин в панели управления.

плагин WP-MembersЛибо — заходим на ссылку http://вашсайт/wp-admin/plugin-install.php и вводим в строку поиска название искомого плагина: WP-Members, после чего устанавливаем и активируем его.

Сразу после активации плагина вы будете перенаправлены на страницу настроек, где сможете указать правила его использования. Можно ограничивать доступ как к страницам, так и к записям на сайте. Интересной особенностью плагина является возможность создания анонса записи — т.е. неавторизированный пользователь может увидеть выделенный вами фрагмент записи, а вот познакомиться с полным текстом — только после процедуры прохождения регистрации или верификации.

wp-members

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

WordPress и ссылка на happy wheels

Буквально час назад, просматривая один из своих сайтов, в самом низу записей нашел странную ссылку, которую я лично ну никак разместить не мог. Интересным было то, что ссылка была видна только в случае просмотра сайта не авторизированным пользователем — в противном случае она скрывалась.

Речь идет о ссылке happy wheels, ведущей на сайт happy*wheels*2*full*com (звездочки поставлены преднамеренно, не хочу даже ссылки активными делать — уверен, что этот сайт достаточно активно засветился в спам-листах.
В исходном коде страницы ссылка отображалась следующим образом:code_whells

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

code_whells_single
Картинка кликабельная 😉

определив помеху — удаляем вредонос их исходного кода и радуемся жизни 🙂

Как всегда — в случае возникновения вопросов милости просим на почту oleksiy@lavrynenko.com

WordPress — отображение виджета на определенной странице

Только что столкнулся с задачей организации вывода содержимого виджета в движке WordPress на определенной странице. В связи с тем, что время — вещь весьма ограниченная, разбираться в кодах не будем — просто рассмотрим плагин Widget Logic, скачать который можно этой ссылке.

Лично для меня плюсом данного плагина в помощи организации отображение виджета на определенной странице явилась простота организации модели поведения вывода — с помощью указаний Conditional Tags (подробнее об этом вы сможете узнать тут) в опциях вывода виджета. Например, на скрине ниже видно, что данный виджет будет отображаться только в категории новостей и на страницах одиночных записей:
отображение виджета на определенной странице

В качестве параметров для примера можно отметить такие:

  • Отображать только на главной странице: is_home()
  • Отображать только на страницах постов: is_single()
  • Отображать только на страницах: is_page()
  • Отображать только на страницах архива (категорий, тэгов и т.д.): is_archive()
  • Отображать на страницах результата поиска: is_search()
  • Отображать на всех страницах, кроме главной: !is_home()
  • Отображать на странице “Blog” или “Contact” : is_page(‘blog’) || is_page(‘contact’)

В случае возникновения вопросов не стесняйтесь задавать их на почту oleksiy@lavrynenko.com

Капча — реальность, ожидания и эксперимент

Новость в блоге Google радует моих глаз вот уже три дня: поисковый гигант, явивший миру чудо Android, спутники связи, Google+, AdSense, Google Wave (кстати, шикарная была штука) и прочее напрягся и произвел «революционные» изменения в технологии капчи. Отныне в любом подозрительном месте вместо размытых и перечеркнутых буквоцифренных кодировок пользователю будет нужно только поставить галочку возле надписи «I’m not a robot» и…… пробки шампанского в потолок, и казалось, что в мире стало чуть веселее.

Но реальность оказалась сложнее 🙁 Все заявления разработчиков об анализе косвенных данных, на основании чего система будет решать — предоставить вам просто поле для галочки возле слов «Я не робот», или явить капчу перестали казаться мне истинными после проведенных экспериментов попытки регистрации нового блога в WordPress (а эта система уже начала пользоваться новинкой). В числе проведенных тестов было:

1. Попытка регистрации в ручном режиме в браузере Chrome, залогиненным под личным аккаунтом Google

2. Попытка регистрации в в ручном режиме в браузере Chrome в режиме Инкогнито (напомню — в этом режиме теоретически не сохраняются куки и не ведется запись хистори)

3. Попытка регистрации по вышеупомянутым процедурам в браузере Firefox

4. Попытка регистрации с помощью VPN-туннелей для подстановки поддельного IP-адреса поочередно тремя вышеуказанными методами

5. Попытка регистрации с помощью TOR-браузера с помощью первых трех методов

Важно отметить, что данные эксперименты проводились с трех разных компьютеров для избежания попадания под систему анализирования как стандартных данных (IP-адрес компьютера, логины, активность пользователя в браузере, но и «отпечатков» системы (тут  важно напомнить, что впервые об этом явлении заговорили еще в 2012 году, когда объединенная команда исследователей из Технического университета Эйндовена в Нидерландах и Дармштадтского технического университета в Бельгии заявила о разработке алгоритма, по результатам которого можно найти различия в обработке данных, которые выполняются графическими системами. Назвали это явление слегка замудренно: «Физически неклонируемые функции на стандартных компонентах ПК» намекая о невозможности подделки этих результатов — в отличии от MAC-адресов, подделку которых не делал только ленивый. Ну или тот, кому не интересно или не нужно 🙂 ) — технология хоть и была заявлена к реализации только к началу 2015, да и то — в тестовом варианте — но… но … Мы же за чистоту эксперимента, правда? 🙂

Капча — реальность, ожидания и эксперимент — огорчила… Ни одна из попыток не была засчитана системой, как попытка авторизации человеком. Вариантов, на которые наталкивают результаты экспериментов — не так много, а именно:

1. Я робот, и Google это знает

2. Система анализирования анализирует с помощью чего-то еще

3. Система учитывает количество активных соединений с социальными сетями и основываясь на этом выдает решение о демонстрации капчи. Чем больше следов социальных сетей в системе — тем выше уровень доверия

4. Кто его знает, что происходит. Тут явно обширная тема для экспериментов, а времени, как всегда — мало.

Понравилась статья? Обязательно поделись на своей странице 😉 Всем хорошего настроения!