Олег Власов
logo
Магазин контента WordPress

Коллекция Wordpress

темы и плагины wordpress: установка wordpress, настройка wordpress, использование wordpress, авторский перевод на русский язык шаблонов и плагинов Wordpress

Это статья 3 из 6 в серии статей Советы администратору сайта на WordPress

Эта статья — продолжении серии статей. Советую прочитать с самого начала.

Задержка публикации в PSS ленте

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

Чтобы запустить эту функцию, — добавьте ее в файл functions.php вашей активной темы:

// delay feed update
function publish_later_on_feed($where) {
    global $wpdb;

    if (is_feed()) {
        // timestamp in WP-format
        $now = gmdate('Y-m-d H:i:s');

        // value for wait; + device
        $wait = '10'; // integer

        // https://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
        $device = 'MINUTE'; // MINUTE, HOUR, DAY, WEEK, MONTH, YEAR

        // add SQL-sytax to default $where
        $where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
    }
    return $where;
}
add_filter('posts_where', 'publish_later_on_feed');

(тестировал на WordPress 3.5.1)

В примере выше функция настроена на задержку публикации на 10 минут. Время можно менять.

Установка максимального числа Ревизий для одной записи

По умолчанию, в системе WordPress нет ограничений на число Ревизий для одной публикации. Из-за этого база данных WordPress может быть «раздута» на очень большое количество хранимых записей. Советую установить ограничение. Код ниже надо добавить в файл wp-config.php:

/**
 * Set the post revisions unless the constant was set in wp-config.php
 */
if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', 5);

(тестировал на WordPress 3.5.1)
В примере число 5 — максимальное число Ревизий для одной записи. Можно редактировать.

Придание резкости для изображений (только JPG)

Посмотрите ниже пример:

resize

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

function ajx_sharpen_resized_files( $resized_file ) {

    $image = wp_load_image( $resized_file );
    if ( !is_resource( $image ) )
        return new WP_Error( 'error_loading_image', $image, $file );

    $size = @getimagesize( $resized_file );
    if ( !$size )
        return new WP_Error('invalid_image', __('Could not read image size'), $file);
    list($orig_w, $orig_h, $orig_type) = $size;

    switch ( $orig_type ) {
        case IMAGETYPE_JPEG:
            $matrix = array(
                array(-1, -1, -1),
                array(-1, 16, -1),
                array(-1, -1, -1),
            );

            $divisor = array_sum(array_map('array_sum', $matrix));
            $offset = 0;
            imageconvolution($image, $matrix, $divisor, $offset);
            imagejpeg($image, $resized_file,apply_filters( 'jpeg_quality', 90, 'edit_image' ));
            break;
        case IMAGETYPE_PNG:
            return $resized_file;
        case IMAGETYPE_GIF:
            return $resized_file;
    }

    return $resized_file;
}

add_filter('image_make_intermediate_size', 'ajx_sharpen_resized_files',900);

(тестировал на WordPress 3.5.1)


Хотите заказать профессионалам разработку уникального рекламного баннера? Дизайн баннера стоимость — качество гарантировано профессионалами.

Навигация по серии статейСоветы администратору сайта. Ч.2Советы администратору — ч.4

Олег WordpressУправлениеШпаргалки
Это статья 3 из 6 в серии статей Советы администратору сайта на WordPress

Эта статья — продолжении серии статей. Советую прочитать с самого начала.

Задержка публикации в PSS ленте

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

Чтобы запустить эту функцию, — добавьте ее в файл functions.php вашей активной темы:

// delay feed update
function publish_later_on_feed($where) {
    global $wpdb;

    if (is_feed()) {
        // timestamp in WP-format
        $now = gmdate('Y-m-d H:i:s');

        // value for wait; + device
        $wait = '10'; // integer

        // https://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
        $device = 'MINUTE'; // MINUTE, HOUR, DAY, WEEK, MONTH, YEAR

        // add SQL-sytax to default $where
        $where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
    }
    return $where;
}
add_filter('posts_where', 'publish_later_on_feed');

(тестировал на WordPress 3.5.1)

В примере выше функция настроена на задержку публикации на 10 минут. Время можно менять.

Установка максимального числа Ревизий для одной записи

По умолчанию, в системе WordPress нет ограничений на число Ревизий для одной публикации. Из-за этого база данных WordPress может быть «раздута» на очень большое количество хранимых записей. Советую установить ограничение. Код ниже надо добавить в файл wp-config.php:

/**
 * Set the post revisions unless the constant was set in wp-config.php
 */
if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', 5);

(тестировал на WordPress 3.5.1)
В примере число 5 — максимальное число Ревизий для одной записи. Можно редактировать.

Придание резкости для изображений (только JPG)

Посмотрите ниже пример:

resize

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

function ajx_sharpen_resized_files( $resized_file ) {

    $image = wp_load_image( $resized_file );
    if ( !is_resource( $image ) )
        return new WP_Error( 'error_loading_image', $image, $file );

    $size = @getimagesize( $resized_file );
    if ( !$size )
        return new WP_Error('invalid_image', __('Could not read image size'), $file);
    list($orig_w, $orig_h, $orig_type) = $size;

    switch ( $orig_type ) {
        case IMAGETYPE_JPEG:
            $matrix = array(
                array(-1, -1, -1),
                array(-1, 16, -1),
                array(-1, -1, -1),
            );

            $divisor = array_sum(array_map('array_sum', $matrix));
            $offset = 0;
            imageconvolution($image, $matrix, $divisor, $offset);
            imagejpeg($image, $resized_file,apply_filters( 'jpeg_quality', 90, 'edit_image' ));
            break;
        case IMAGETYPE_PNG:
            return $resized_file;
        case IMAGETYPE_GIF:
            return $resized_file;
    }

    return $resized_file;
}

add_filter('image_make_intermediate_size', 'ajx_sharpen_resized_files',900);

(тестировал на WordPress 3.5.1)


Хотите заказать профессионалам разработку уникального рекламного баннера? Дизайн баннера стоимость — качество гарантировано профессионалами.

Навигация по серии статейСоветы администратору сайта. Ч.2Советы администратору — ч.4

Понравилась статья? Поделись с друзьями!

Что еще читают:

Внимание!

Прежде, чем задавать свой вопрос - пожалуйста, прочитайте F.A.Q.

4 коммент. пока.

  1. Извините за мою не компетентность. Для чего нужна задержка публикации?

  2. Елена:

    Уточните, пожалуйста, в какое конкретно место нужно добавлять коды? Судя по скринам (нумерация строк) — сверху? Или в самый низ кода ДО ?.>

    • Олег:

      В первой статье этой серии я написал, что большинство функций, о которых я написал и буду писать дальше, надо добавлять в файл functions.php вашей активной темы.
      В каком именно месте — все равно, главное — код надо вставлять между началом кода функции PHP и ее окончанием.
      Любая функция PHP начинается с открывающегося тега

      <?php

      и заканчивается закрывающимся тегом PHP —

      ?>

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

Добавить комментарий


Если вы хотите добавить код HTML, PHP или CSS, воспользуйтесь коротким кодом: [php]здесь код[/php]





Искать на сайте

icon
Подняться наверхПодняться наверх