Наша цель

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

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

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

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

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

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

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

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

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

function dump($var)
{
    mail( 'developer@example.com', 'Website dump', print_r( $var, true ) );
}

Еще одна маленькая, но очень полезная функция WordPress — regexp вырезающий картинку из контента.This function I use very often for debugging. Especially it is actual when the site is working and it is visited by users. To dump of the data is not spilling into the browser, it is more convenient to send them to your mail.

function dump($var)
{
    mail( 'developer@example.com', 'Website dump', print_r( $var, true ) );
}
<code>...</code>,Wordpress

Плагин WordPress MU Domain Mapping позволяет использовать собственные доменные имена вместо стандартных субдоменов pupkin.example.com или путей example.com/pupkin на пользовательских блогах сетки WPMU. То-есть, допустим, пользователь хочет вместо своего pupkin.example.com использовать зарегистрированный им домен pupkin.ru С помощью этого плагина такое не сложно реализовать.

Установка
Здесь есть некоторые особенности, которые отличают данный плагин от большинства и установка требует не только скачать и активировать его.

  1. Скачайте и распакуйте плагин, файл domain_mapping.php разместите в папке /wp-content/mu-plugins. Если у вас еще нет такой, то создайте ее — это специальная директория для плагинов работающих в Multi User версии WordPress. Плагины размещенные в ней попадают в категорию Must-Use и работают всегда, не предоставляя возможности подключать/отключать их через админку.
  2. Файл sunrise.php разместите в корне папки /wp-content
  3. В файл wp-config.php добавьте такую строку
    define( 'SUNRISE', 'on' );

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