remove_action( 'wp_head', 'locale_stylesheet', 10 );
remove_action( 'embed_head', 'locale_stylesheet', 30 );
remove_action( 'wp_head', 'wp_print_head_scripts',  9 );
remove_action( 'wp_head', 'wp_print_styles', 8 );

add_action( 'wp_footer', 'locale_stylesheet', 10 );
add_action( 'wp_footer', 'locale_stylesheet', 30 );
add_action( 'wp_footer', 'wp_print_head_scripts', 9  );
add_action( 'wp_footer', 'wp_print_styles', 9 );

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

<code>...</code>

Итак, в чем проблема? Бывает, что содержимое страниц сайта может меняться в зависимости от установленных cookie. Например на одном из интернет-магазинов меня попросили создать систему отображения разных рекламных баннеров в зависимости от города, с которого пользователь зашел на сайт. Город, если удалось его установить, записывается в cookie и для такого пользователя (и всех других с этого же города) нужно отображать определенный баннер.

Но по-умолчанию для WP Super Cache нет разницы, какие сookie установлены у пользователя. Он будет отдавать ту же, закешированную ранее страницу, поскольку ориентируется только на уникальный УРЛ этой страницы, а он никак не изменяется после установки нами куки. В результате мы получим такую же страницу, какой она была до установки куки. Оказалось, что сам будучи плагином, WP Super Cache поддерживает плагины внутри себя и мы можем написать свой, который бы учитывал нашу ситуацию.

<code>...</code>,Wordpress

При разработке адаптивных страниц очень удобно видеть текущую ширину окна браузера на странице. При этом нужно чтобы эта величина изменялась по мере изменения ширины окна. Вот небольшой javascript-код, который помогает решить проблему. Я его вставляю в подвал страницы и вижу текущую ширину окна. Также удобно при этом использовать плагин Firebug для Firefox в режиме отдельного окна, так как при уменьшении браузера до 320px по ширине увидеть HTML-код в Firebug’е нереально.


<code>...</code>

Кому невтерпеж и лень читать

Скачать Windows 8 на русском
Скачать Windows 8 можно здесь. Но рекомендую не спешить, а внимательно ознакомиться с наиболее важной информацией о восьмерке и все-таки получить то, за чем вы пришли.

Windows 8 самая свежая операционная система от компании Microsoft. Ее основными особенностями стали: наличие встроенного магазина приложений Windows Store (аналогичного AppStore), новый интерфейс Метро, или как его попросила называть сама Microsoft «Интерфейс в стиле Windows 8», система распознавания лиц с помощью веб-камеры, улучшенная система устранения неполадок, возможность «сброса» системы (переустановки без потери пользовательских файлов) и многое другое.

Мой компьютер

Как написать письмо

Оказывается, многие пользователи не знают, как написать письмо (если верить статистике поисковых систем). «Элементарно!» воскликнут многие, но на самом деле в написании писем есть свои хитрости и тонкости, о которых знают далеко не все.

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

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

Интернет

Поскольку не у всех получается скачать официальную копию Windows 8 с сайта разработчика, то решил написать инструкцию. Напомню, что версия Windows 8 Enterprise почти ничем не отличается от Windows 8 Pro. У них только разные названия и разные предназначения — первая рассчитана для продаж корпоративным клиентам, последняя обычным пользователям. По большому счету это одна и та же Windows 8, только у версии Enterprise есть пару дополнительных возможностей, которые на практике рядовому пользователю и не нужны.

Мой компьютер

Кратко о модели

Пежо Партнер — компактный фургон французского концерна PSA Peugeot Citroen (он же Citroen Berlingo). Относится к классу коммерческих авто и стал довольно популярным автомобилем как в Европе, так и на просторах бывшего совка благодаря своей практичности. В народе его часто называют «бегемот» или «пирожок» из-за характерного дизайна. Выпускается с 1996 года и к этому времени претерпел рестайлинг (2002) и смену модели (2008).

Пежо Партнер до 2002 года

Пежо Партнер до 2002 года

Peugeot Partner

Пежо Партнер после 2002 (рестайлинг) Мой, кстати :-)

Убедиться в популярности данной модели несложно — достаточно в любом городе Украины или западной части России присмотреться к проезжающим мимо автомобилям. Уверен за небольшое время можно насчитать несколько таких Партнеров (или Citroen Berlingo) Популярность «бегемота» можно объяснить практичностью, невысокой ценой (бу можно брать от 5000$ ), экономичностью и выносливостью конструкции. Даже в наших суровых, по сравнению с Европой, условиях и не слишком качественному топливу.

Авто

Наша цель

При отображении списка записей на странице намного информативнее выводить возле текста записи еще и картинку, которая используется в ней. Например так, как изображено на картинке

Пример вывода записей с миниатюрами в WordPress

Пример вывода записей с миниатюрами в WordPress

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

Алгоритм решения задачи

Все довольно просто — достать картинку из содержимого записи и отобразить ее возле выдержки из этой же записи. Реализовать «доставание» картинки можно разными способами: парсить контент записи на наличие изображения, доставать картинку из блока «Миниатюра записи» (но перед этим придется еще и добавлять ее к каждой записи), наконец доставать ее из «Дополнительных полей», но опять-таки ее туда еще нужно и добавлять, что не совсем удобно. Возьмемся за самый простой вариант — парсинг контента.

<code>...</code>,Wordpress

Bluetooth программа

История неудач с bluetooth программами

Всегда удивлялся, почему при использовании bluetooth возникает куча проблем. Особенно если это пресловутая BlueSoleil от IVT. Ведь bluetooth — технология сама по себе не новая, за годы ее использования на различных устройствах можно было избавиться от детских болезней. Оказалось, что все дело в убогости вышеупомянутой программы для взаимодействия с окружающими устройствами. Во-первых она платная и наш типичный юзер должен искать к ней кряк, во-вторых она какая-то тяжелая и пока установишь, настроишь… А к тому же еще и кряк не всегда легко найти и в процессе можно наскачивать разной гадости типа тулбаров для браузера или обнаружить вдруг, что стартовой страницей в браузере стала какая-то хрень.

В общем после всего изложенного пропадает желание пользоваться какими то ни было bluetooth программами и технологией вообще. И так было на протяжении нескольких лет, пока я не узнал о существовании замечательной проги для работы с bluetooth окружением от Toshiba. Оказалось, что она немного весит, поддерживает все что только возможно и связано с bluetooth и полностью справляется с задачами возложенными на нее. В принципе, если бы не моя лень, то я давно бы нагуглил и почитал какой-нибудь обзор bluetooth приложений, но почему-то всегда был уверен, что просто следует нормально настроить существующую, но все никак не доходили руки. А когда доходили, то на все про все было минут 5 времени.

Решение проблемы

Короче всем горячо рекомендую удалить любые программы связанные с bluetooth (если конечно, у вас еще не установлена от Toshiba) и инсталлировать себе программу Toshiba Bluetooth Stack. Вот как выглядит главное окно этой программы.

Bluetoth программа

Bluetooth программа Toshiba Bluetooth Stack

Мой компьютер

WordPress функция register_sidebar() очень часто используется на практике при создании шаблонов WordPress. В рубрике <code>…</code> я собираю именно такие функции, которые часто использую. Собственно для того, чтобы они всегда были под рукой я их туда и добавляю.

Пример регистрации сайдбара

  1. Пишем функцию вызывающую регистрацию сайдбара. В ней передаем параметры виджетов, которые будут в этом сайдбаре
  2. Добавляем вызов этой функции в момент инициализации (возникновения) виджетов Wordress
  3. Здесь приведен пример отображения содержимого созанного нами сайдбара. Вызов этой функции нужно поместить в место, где вы хотите отображать ваш сайдбар
// 1
function stepasyuk_widgets_init() {
    register_sidebar(array(
        'name' => 'Stepasyuk sidebar',
        'id' => 'stepasyuk-sidebar',
        'before_widget' => '<div id="%1$s" class="widget %2$s">',
        'after_widget' => "</div>",
        'before_title' => '<h3 class="widget-title">',
        'after_title' => '</h3>'
    ));
}
// 2
add_action('widgets_init', 'stepasyuk_widgets_init');

// 3
if (function_exists('dynamic_sidebar'))
    dynamic_sidebar('stepasyuk-sidebar');

<code>...</code>,Wordpress